- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] half(0) -> 0 [2] half(s(0)) -> 0 [3] half(s(s(x))) -> s(half(x)) [4] lastbit(0) -> 0 [5] lastbit(s(0)) -> s(0) [6] lastbit(s(s(x))) -> lastbit(x) [7] conv(0) -> cons(nil,0) [8] conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(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: { half(0) >= 0 ; half(s(0)) >= 0 ; half(s(s(x))) >= s(half(x)) ; lastbit(0) >= 0 ; lastbit(s(0)) >= s(0) ; lastbit(s(s(x))) >= lastbit(x) ; conv(0) >= cons(nil,0) ; conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) ; Marked_conv(s(x)) >= Marked_conv(half(s(x))) ; } + Disjunctions:{ { Marked_conv(s(x)) > Marked_conv(half(s(x))) ; } } === 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 === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. Entering rpo_solver === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 15.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 15.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. === TIMER virtual : 50.000000 === trying sub matrices of size: 1 Matrix interpretation constraints generated. Search parameters: LINEAR MATRIX 3x3 (strict=1x1) ; time limit: 50.. Termination constraints generated. Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 50.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: half(0) >= 0 constraint: half(s(0)) >= 0 constraint: half(s(s(x))) >= s(half(x)) constraint: lastbit(0) >= 0 constraint: lastbit(s(0)) >= s(0) constraint: lastbit(s(s(x))) >= lastbit(x) constraint: conv(0) >= cons(nil,0) constraint: conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) constraint: Marked_conv(s(x)) >= Marked_conv(half(s(x))) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { half(0) >= 0 ; half(s(0)) >= 0 ; half(s(s(x))) >= s(half(x)) ; lastbit(0) >= 0 ; lastbit(s(0)) >= s(0) ; lastbit(s(s(x))) >= lastbit(x) ; conv(0) >= cons(nil,0) ; conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) ; Marked_half(s(s(x))) >= Marked_half(x) ; } + Disjunctions:{ { Marked_half(s(s(x))) > Marked_half(x) ; } } === 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: half(0) >= 0 constraint: half(s(0)) >= 0 constraint: half(s(s(x))) >= s(half(x)) constraint: lastbit(0) >= 0 constraint: lastbit(s(0)) >= s(0) constraint: lastbit(s(s(x))) >= lastbit(x) constraint: conv(0) >= cons(nil,0) constraint: conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) constraint: Marked_half(s(s(x))) >= Marked_half(x) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { half(0) >= 0 ; half(s(0)) >= 0 ; half(s(s(x))) >= s(half(x)) ; lastbit(0) >= 0 ; lastbit(s(0)) >= s(0) ; lastbit(s(s(x))) >= lastbit(x) ; conv(0) >= cons(nil,0) ; conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) ; Marked_lastbit(s(s(x))) >= Marked_lastbit(x) ; } + Disjunctions:{ { Marked_lastbit(s(s(x))) > Marked_lastbit(x) ; } } === 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: half(0) >= 0 constraint: half(s(0)) >= 0 constraint: half(s(s(x))) >= s(half(x)) constraint: lastbit(0) >= 0 constraint: lastbit(s(0)) >= s(0) constraint: lastbit(s(s(x))) >= lastbit(x) constraint: conv(0) >= cons(nil,0) constraint: conv(s(x)) >= cons(conv(half(s(x))),lastbit(s(x))) constraint: Marked_lastbit(s(s(x))) >= Marked_lastbit(x) 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] half(0) -> 0 [2] half(s(0)) -> 0 [3] half(s(s(x))) -> s(half(x)) [4] lastbit(0) -> 0 [5] lastbit(s(0)) -> s(0) [6] lastbit(s(s(x))) -> lastbit(x) [7] conv(0) -> cons(nil,0) [8] conv(s(x)) -> cons(conv(half(s(x))),lastbit(s(x))) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: Matrix polynomial interpretation (strict sub matrices size: 1x1) = [ 0 ] () = [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]; [ cons ] (X0,X1) = [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]*X1 + [ [ 0 , 0 , 0 ] [ 1 , 0 , 0 ] [ 0 , 0 , 0 ] ]*X0 + [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]; [ s ] (X0) = [ [ 0 , 0 , 0 ] [ 0 , 1 , 1 ] [ 0 , 1 , 1 ] ]*X0 + [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 1 , 0 , 0 ] ]; [ conv ] (X0) = [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]*X0 + [ [ 1 , 1 , 1 ] [ 1 , 1 , 1 ] [ 1 , 1 , 1 ] ]; [ half ] (X0) = [ [ 0 , 0 , 0 ] [ 0 , 1 , 0 ] [ 0 , 1 , 0 ] ]*X0 + [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]; [ nil ] () = [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]; [ lastbit ] (X0) = [ [ 0 , 0 , 1 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]*X0 + [ [ 1 , 0 , 0 ] [ 0 , 0 , 0 ] [ 1 , 0 , 0 ] ]; [ Marked_conv ] (X0) = [ [ 0 , 0 , 1 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]*X0 + [ [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ] ]; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ 0 ] () = 0; [ Marked_half ] (X0) = 1*X0 + 0; [ cons ] (X0,X1) = 0; [ s ] (X0) = 1 + 2*X0 + 0; [ conv ] (X0) = 2 + 0; [ half ] (X0) = 1 + 1*X0 + 0; [ nil ] () = 0; [ lastbit ] (X0) = 2 + 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ 0 ] () = 0; [ cons ] (X0,X1) = 1*X0 + 0; [ s ] (X0) = 1 + 2*X0 + 0; [ conv ] (X0) = 2 + 0; [ half ] (X0) = 1 + 1*X0 + 0; [ Marked_lastbit ] (X0) = 1*X0 + 0; [ nil ] () = 0; [ lastbit ] (X0) = 2 + 0; ]} ]} ]} Cime worked for 0.906448 seconds (real time) Cime Exit Status: 0