- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] rev(nil) -> nil [2] rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) [3] rev1(0,nil) -> 0 [4] rev1(s(x),nil) -> s(x) [5] rev1(x,cons(y,l)) -> rev1(y,l) [6] rev2(x,nil) -> nil [7] rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 2 components: { --> --> --> --> --> } { --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { rev(nil) >= nil ; rev(cons(x,l)) >= cons(rev1(x,l),rev2(x,l)) ; rev1(0,nil) >= 0 ; rev1(s(x),nil) >= s(x) ; rev1(x,cons(y,l)) >= rev1(y,l) ; rev2(x,nil) >= nil ; rev2(x,cons(y,l)) >= rev(cons(x,rev2(y,l))) ; Marked_rev2(x,cons(y,l)) >= Marked_rev2(y,l) ; Marked_rev2(x,cons(y,l)) >= Marked_rev(cons(x,rev2(y,l))) ; Marked_rev(cons(x,l)) >= Marked_rev2(x,l) ; } + Disjunctions:{ { Marked_rev2(x,cons(y,l)) > Marked_rev2(y,l) ; } { Marked_rev2(x,cons(y,l)) > Marked_rev(cons(x,rev2(y,l))) ; } { Marked_rev(cons(x,l)) > Marked_rev2(x,l) ; } } === 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: rev(nil) >= nil constraint: rev(cons(x,l)) >= cons(rev1(x,l),rev2(x,l)) constraint: rev1(0,nil) >= 0 constraint: rev1(s(x),nil) >= s(x) constraint: rev1(x,cons(y,l)) >= rev1(y,l) constraint: rev2(x,nil) >= nil constraint: rev2(x,cons(y,l)) >= rev(cons(x,rev2(y,l))) constraint: Marked_rev2(x,cons(y,l)) >= Marked_rev2(y,l) constraint: Marked_rev2(x,cons(y,l)) >= Marked_rev(cons(x,rev2(y,l))) constraint: Marked_rev(cons(x,l)) >= Marked_rev2(x,l) APPLY CRITERIA (Subterm criterion) ST: Marked_rev1 -> 2 APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] rev(nil) -> nil [2] rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) [3] rev1(0,nil) -> 0 [4] rev1(s(x),nil) -> s(x) [5] rev1(x,cons(y,l)) -> rev1(y,l) [6] rev2(x,nil) -> nil [7] rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ nil ] () = 0; [ Marked_rev ] (X0) = 1*X0 + 2; [ rev2 ] (X0,X1) = 1*X1; [ cons ] (X0,X1) = 3*X1 + 1; [ s ] (X0) = 0; [ rev ] (X0) = 1*X0; [ 0 ] () = 0; [ rev1 ] (X0,X1) = 0; [ Marked_rev2 ] (X0,X1) = 3*X1; removing [ { DP termination of: , CRITERION: SG [ ]} ]} { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} ]} ]} Cime worked for 0.046643 seconds (real time) Cime Exit Status: 0