- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] minus(n__0,Y) -> 0 [2] minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) [3] geq(X,n__0) -> true [4] geq(n__0,n__s(Y)) -> false [5] geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) [6] div(0,n__s(Y)) -> 0 [7] div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(div(minus(X,activate(Y)),n__s(activate(Y)))),n__0) [8] if(true,X,Y) -> activate(X) [9] if(false,X,Y) -> activate(Y) [10] 0 -> n__0 [11] s(X) -> n__s(X) [12] activate(n__0) -> 0 [13] activate(n__s(X)) -> s(X) [14] activate(X) -> X Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 3 components: { --> } { --> } { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { 0 >= n__0 ; minus(n__0,Y) >= 0 ; minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) ; activate(n__0) >= 0 ; activate(n__s(X)) >= s(X) ; activate(X) >= X ; geq(n__0,n__s(Y)) >= false ; geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) ; geq(X,n__0) >= true ; div(0,n__s(Y)) >= 0 ; div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)),n__s(activate(Y)))), n__0) ; if(true,X,Y) >= activate(X) ; if(false,X,Y) >= activate(Y) ; s(X) >= n__s(X) ; Marked_div(s(X),n__s(Y)) >= Marked_div(minus(X,activate(Y)), n__s(activate(Y))) ; } + Disjunctions:{ { Marked_div(s(X),n__s(Y)) > Marked_div(minus(X,activate(Y)),n__s(activate(Y))) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: 0 >= n__0 constraint: minus(n__0,Y) >= 0 constraint: minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) constraint: activate(n__0) >= 0 constraint: activate(n__s(X)) >= s(X) constraint: activate(X) >= X constraint: geq(n__0,n__s(Y)) >= false constraint: geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) constraint: geq(X,n__0) >= true constraint: div(0,n__s(Y)) >= 0 constraint: div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)), n__s(activate(Y)))),n__0) constraint: if(true,X,Y) >= activate(X) constraint: if(false,X,Y) >= activate(Y) constraint: s(X) >= n__s(X) constraint: Marked_div(s(X),n__s(Y)) >= Marked_div(minus(X,activate(Y)), n__s(activate(Y))) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { 0 >= n__0 ; minus(n__0,Y) >= 0 ; minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) ; activate(n__0) >= 0 ; activate(n__s(X)) >= s(X) ; activate(X) >= X ; geq(n__0,n__s(Y)) >= false ; geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) ; geq(X,n__0) >= true ; div(0,n__s(Y)) >= 0 ; div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)),n__s(activate(Y)))), n__0) ; if(true,X,Y) >= activate(X) ; if(false,X,Y) >= activate(Y) ; s(X) >= n__s(X) ; Marked_geq(n__s(X),n__s(Y)) >= Marked_geq(activate(X),activate(Y)) ; } + Disjunctions:{ { Marked_geq(n__s(X),n__s(Y)) > Marked_geq(activate(X),activate(Y)) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: 0 >= n__0 constraint: minus(n__0,Y) >= 0 constraint: minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) constraint: activate(n__0) >= 0 constraint: activate(n__s(X)) >= s(X) constraint: activate(X) >= X constraint: geq(n__0,n__s(Y)) >= false constraint: geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) constraint: geq(X,n__0) >= true constraint: div(0,n__s(Y)) >= 0 constraint: div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)), n__s(activate(Y)))),n__0) constraint: if(true,X,Y) >= activate(X) constraint: if(false,X,Y) >= activate(Y) constraint: s(X) >= n__s(X) constraint: Marked_geq(n__s(X),n__s(Y)) >= Marked_geq(activate(X),activate(Y)) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { 0 >= n__0 ; minus(n__0,Y) >= 0 ; minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) ; activate(n__0) >= 0 ; activate(n__s(X)) >= s(X) ; activate(X) >= X ; geq(n__0,n__s(Y)) >= false ; geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) ; geq(X,n__0) >= true ; div(0,n__s(Y)) >= 0 ; div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)),n__s(activate(Y)))), n__0) ; if(true,X,Y) >= activate(X) ; if(false,X,Y) >= activate(Y) ; s(X) >= n__s(X) ; Marked_minus(n__s(X),n__s(Y)) >= Marked_minus(activate(X),activate(Y)) ; } + Disjunctions:{ { Marked_minus(n__s(X),n__s(Y)) > Marked_minus(activate(X),activate(Y)) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: 0 >= n__0 constraint: minus(n__0,Y) >= 0 constraint: minus(n__s(X),n__s(Y)) >= minus(activate(X),activate(Y)) constraint: activate(n__0) >= 0 constraint: activate(n__s(X)) >= s(X) constraint: activate(X) >= X constraint: geq(n__0,n__s(Y)) >= false constraint: geq(n__s(X),n__s(Y)) >= geq(activate(X),activate(Y)) constraint: geq(X,n__0) >= true constraint: div(0,n__s(Y)) >= 0 constraint: div(s(X),n__s(Y)) >= if(geq(X,activate(Y)), n__s(div(minus(X,activate(Y)), n__s(activate(Y)))),n__0) constraint: if(true,X,Y) >= activate(X) constraint: if(false,X,Y) >= activate(Y) constraint: s(X) >= n__s(X) constraint: Marked_minus(n__s(X),n__s(Y)) >= Marked_minus(activate(X), activate(Y)) APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] minus(n__0,Y) -> 0 [2] minus(n__s(X),n__s(Y)) -> minus(activate(X),activate(Y)) [3] geq(X,n__0) -> true [4] geq(n__0,n__s(Y)) -> false [5] geq(n__s(X),n__s(Y)) -> geq(activate(X),activate(Y)) [6] div(0,n__s(Y)) -> 0 [7] div(s(X),n__s(Y)) -> if(geq(X,activate(Y)),n__s(div(minus(X,activate(Y)),n__s(activate(Y)))),n__0) [8] if(true,X,Y) -> activate(X) [9] if(false,X,Y) -> activate(Y) [10] 0 -> n__0 [11] s(X) -> n__s(X) [12] activate(n__0) -> 0 [13] activate(n__s(X)) -> s(X) [14] activate(X) -> X , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ 0 ] () = 0; [ div ] (X0,X1) = 3 + 0; [ n__s ] (X0) = 0; [ n__0 ] () = 0; [ s ] (X0) = 2 + 0; [ geq ] (X0,X1) = 0; [ minus ] (X0,X1) = 0; [ if ] (X0,X1,X2) = 2 + 2*X1 + 2*X2 + 0; [ true ] () = 0; [ activate ] (X0) = 2 + 2*X0 + 0; [ false ] () = 0; [ Marked_div ] (X0,X1) = 1*X0 + 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ 0 ] () = 0; [ Marked_geq ] (X0,X1) = 3*X1 + 0; [ div ] (X0,X1) = 3*X0 + 0; [ n__s ] (X0) = 3 + 1*X0 + 0; [ n__0 ] () = 0; [ s ] (X0) = 3 + 1*X0 + 0; [ geq ] (X0,X1) = 0; [ minus ] (X0,X1) = 0; [ if ] (X0,X1,X2) = 3*X1 + 1*X2 + 0; [ true ] () = 0; [ activate ] (X0) = 1*X0 + 0; [ false ] () = 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ 0 ] () = 0; [ div ] (X0,X1) = 1*X0 + 0; [ n__s ] (X0) = 3 + 2*X0 + 0; [ n__0 ] () = 0; [ s ] (X0) = 3 + 2*X0 + 0; [ geq ] (X0,X1) = 2*X0 + 0; [ minus ] (X0,X1) = 0; [ Marked_minus ] (X0,X1) = 2*X0 + 0; [ if ] (X0,X1,X2) = 1*X0 + 1*X1 + 2*X2 + 0; [ true ] () = 0; [ activate ] (X0) = 1*X0 + 0; [ false ] () = 0; ]} ]} ]} Cime worked for 0.267850 seconds (real time) Cime Exit Status: 0