- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] 0(#) -> # [2] +(x,#) -> x [3] +(#,x) -> x [4] +(0(x),0(y)) -> 0(+(x,y)) [5] +(0(x),1(y)) -> 1(+(x,y)) [6] +(1(x),0(y)) -> 1(+(x,y)) [7] +(1(x),1(y)) -> 0(+(+(x,y),1(#))) [8] +(+(x,y),z) -> +(x,+(y,z)) [9] *(#,x) -> # [10] *(0(x),y) -> 0( *(x,y)) [11] *(1(x),y) -> +(0( *(x,y)),y) [12] *( *(x,y),z) -> *(x, *(y,z)) [13] *(x,+(y,z)) -> +( *(x,y), *(x,z)) [14] app(nil,l) -> l [15] app(cons(x,l1),l2) -> cons(x,app(l1,l2)) [16] sum(nil) -> 0(#) [17] sum(cons(x,l)) -> +(x,sum(l)) [18] sum(app(l1,l2)) -> +(sum(l1),sum(l2)) [19] prod(nil) -> 1(#) [20] prod(cons(x,l)) -> *(x,prod(l)) [21] prod(app(l1,l2)) -> *(prod(l1),prod(l2)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 5 components: { --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) ST: Marked_app -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_sum -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_prod -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_* -> 1 APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { 0(#) >= # ; +(#,x) >= x ; +(0(x),0(y)) >= 0(+(x,y)) ; +(0(x),1(y)) >= 1(+(x,y)) ; +(+(x,y),z) >= +(x,+(y,z)) ; +(1(x),0(y)) >= 1(+(x,y)) ; +(1(x),1(y)) >= 0(+(+(x,y),1(#))) ; +(x,#) >= x ; *(#,x) >= # ; *(0(x),y) >= 0( *(x,y)) ; *(1(x),y) >= +(0( *(x,y)),y) ; *( *(x,y),z) >= *(x, *(y,z)) ; *(x,+(y,z)) >= +( *(x,y), *(x,z)) ; app(nil,l) >= l ; app(cons(x,l1),l2) >= cons(x,app(l1,l2)) ; sum(app(l1,l2)) >= +(sum(l1),sum(l2)) ; sum(nil) >= 0(#) ; sum(cons(x,l)) >= +(x,sum(l)) ; prod(app(l1,l2)) >= *(prod(l1),prod(l2)) ; prod(nil) >= 1(#) ; prod(cons(x,l)) >= *(x,prod(l)) ; Marked_+(0(x),0(y)) >= Marked_+(x,y) ; Marked_+(0(x),1(y)) >= Marked_+(x,y) ; Marked_+(+(x,y),z) >= Marked_+(y,z) ; Marked_+(+(x,y),z) >= Marked_+(x,+(y,z)) ; Marked_+(1(x),0(y)) >= Marked_+(x,y) ; Marked_+(1(x),1(y)) >= Marked_+(+(x,y),1(#)) ; Marked_+(1(x),1(y)) >= Marked_+(x,y) ; } + Disjunctions:{ { Marked_+(0(x),0(y)) > Marked_+(x,y) ; } { Marked_+(0(x),1(y)) > Marked_+(x,y) ; } { Marked_+(+(x,y),z) > Marked_+(y,z) ; } { Marked_+(+(x,y),z) > Marked_+(x,+(y,z)) ; } { Marked_+(1(x),0(y)) > Marked_+(x,y) ; } { Marked_+(1(x),1(y)) > Marked_+(+(x,y),1(#)) ; } { Marked_+(1(x),1(y)) > Marked_+(x,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 === 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 : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === 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 Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: 0(#) >= # constraint: +(#,x) >= x constraint: +(0(x),0(y)) >= 0(+(x,y)) constraint: +(0(x),1(y)) >= 1(+(x,y)) constraint: +(+(x,y),z) >= +(x,+(y,z)) constraint: +(1(x),0(y)) >= 1(+(x,y)) constraint: +(1(x),1(y)) >= 0(+(+(x,y),1(#))) constraint: +(x,#) >= x constraint: *(#,x) >= # constraint: *(0(x),y) >= 0( *(x,y)) constraint: *(1(x),y) >= +(0( *(x,y)),y) constraint: *( *(x,y),z) >= *(x, *(y,z)) constraint: *(x,+(y,z)) >= +( *(x,y), *(x,z)) constraint: app(nil,l) >= l constraint: app(cons(x,l1),l2) >= cons(x,app(l1,l2)) constraint: sum(app(l1,l2)) >= +(sum(l1),sum(l2)) constraint: sum(nil) >= 0(#) constraint: sum(cons(x,l)) >= +(x,sum(l)) constraint: prod(app(l1,l2)) >= *(prod(l1),prod(l2)) constraint: prod(nil) >= 1(#) constraint: prod(cons(x,l)) >= *(x,prod(l)) constraint: Marked_+(0(x),0(y)) >= Marked_+(x,y) constraint: Marked_+(0(x),1(y)) >= Marked_+(x,y) constraint: Marked_+(+(x,y),z) >= Marked_+(y,z) constraint: Marked_+(+(x,y),z) >= Marked_+(x,+(y,z)) constraint: Marked_+(1(x),0(y)) >= Marked_+(x,y) constraint: Marked_+(1(x),1(y)) >= Marked_+(+(x,y),1(#)) constraint: Marked_+(1(x),1(y)) >= Marked_+(x,y) APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> } APPLY CRITERIA (Subterm criterion) ST: Marked_* -> 2 APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { 0(#) >= # ; +(#,x) >= x ; +(0(x),0(y)) >= 0(+(x,y)) ; +(0(x),1(y)) >= 1(+(x,y)) ; +(+(x,y),z) >= +(x,+(y,z)) ; +(1(x),0(y)) >= 1(+(x,y)) ; +(1(x),1(y)) >= 0(+(+(x,y),1(#))) ; +(x,#) >= x ; *(#,x) >= # ; *(0(x),y) >= 0( *(x,y)) ; *(1(x),y) >= +(0( *(x,y)),y) ; *( *(x,y),z) >= *(x, *(y,z)) ; *(x,+(y,z)) >= +( *(x,y), *(x,z)) ; app(nil,l) >= l ; app(cons(x,l1),l2) >= cons(x,app(l1,l2)) ; sum(app(l1,l2)) >= +(sum(l1),sum(l2)) ; sum(nil) >= 0(#) ; sum(cons(x,l)) >= +(x,sum(l)) ; prod(app(l1,l2)) >= *(prod(l1),prod(l2)) ; prod(nil) >= 1(#) ; prod(cons(x,l)) >= *(x,prod(l)) ; Marked_+(0(x),0(y)) >= Marked_+(x,y) ; Marked_+(+(x,y),z) >= Marked_+(x,+(y,z)) ; Marked_+(1(x),1(y)) >= Marked_+(+(x,y),1(#)) ; } + Disjunctions:{ { Marked_+(0(x),0(y)) > Marked_+(x,y) ; } { Marked_+(+(x,y),z) > Marked_+(x,+(y,z)) ; } { Marked_+(1(x),1(y)) > Marked_+(+(x,y),1(#)) ; } } === 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 : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === 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 Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: 0(#) >= # constraint: +(#,x) >= x constraint: +(0(x),0(y)) >= 0(+(x,y)) constraint: +(0(x),1(y)) >= 1(+(x,y)) constraint: +(+(x,y),z) >= +(x,+(y,z)) constraint: +(1(x),0(y)) >= 1(+(x,y)) constraint: +(1(x),1(y)) >= 0(+(+(x,y),1(#))) constraint: +(x,#) >= x constraint: *(#,x) >= # constraint: *(0(x),y) >= 0( *(x,y)) constraint: *(1(x),y) >= +(0( *(x,y)),y) constraint: *( *(x,y),z) >= *(x, *(y,z)) constraint: *(x,+(y,z)) >= +( *(x,y), *(x,z)) constraint: app(nil,l) >= l constraint: app(cons(x,l1),l2) >= cons(x,app(l1,l2)) constraint: sum(app(l1,l2)) >= +(sum(l1),sum(l2)) constraint: sum(nil) >= 0(#) constraint: sum(cons(x,l)) >= +(x,sum(l)) constraint: prod(app(l1,l2)) >= *(prod(l1),prod(l2)) constraint: prod(nil) >= 1(#) constraint: prod(cons(x,l)) >= *(x,prod(l)) constraint: Marked_+(0(x),0(y)) >= Marked_+(x,y) constraint: Marked_+(+(x,y),z) >= Marked_+(x,+(y,z)) constraint: Marked_+(1(x),1(y)) >= Marked_+(+(x,y),1(#)) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> } APPLY CRITERIA (Subterm criterion) ST: Marked_+ -> 1 APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] 0(#) -> # [2] +(x,#) -> x [3] +(#,x) -> x [4] +(0(x),0(y)) -> 0(+(x,y)) [5] +(0(x),1(y)) -> 1(+(x,y)) [6] +(1(x),0(y)) -> 1(+(x,y)) [7] +(1(x),1(y)) -> 0(+(+(x,y),1(#))) [8] +(+(x,y),z) -> +(x,+(y,z)) [9] *(#,x) -> # [10] *(0(x),y) -> 0( *(x,y)) [11] *(1(x),y) -> +(0( *(x,y)),y) [12] *( *(x,y),z) -> *(x, *(y,z)) [13] *(x,+(y,z)) -> +( *(x,y), *(x,z)) [14] app(nil,l) -> l [15] app(cons(x,l1),l2) -> cons(x,app(l1,l2)) [16] sum(nil) -> 0(#) [17] sum(cons(x,l)) -> +(x,sum(l)) [18] sum(app(l1,l2)) -> +(sum(l1),sum(l2)) [19] prod(nil) -> 1(#) [20] prod(cons(x,l)) -> *(x,prod(l)) [21] prod(app(l1,l2)) -> *(prod(l1),prod(l2)) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} ]} ]} { DP termination of: , CRITERION: CG using polynomial interpretation = [ # ] () = 0; [ sum ] (X0) = 1*X0; [ * ] (X0,X1) = 2*X1*X0 + 1*X1 + 2*X0; [ + ] (X0,X1) = 1*X1 + 1*X0 + 1; [ nil ] () = 1; [ 0 ] (X0) = 1*X0; [ prod ] (X0) = 1*X0; [ app ] (X0,X1) = 2*X1*X0 + 1*X1 + 2*X0 + 1; [ Marked_+ ] (X0,X1) = 1*X1 + 1*X0; [ 1 ] (X0) = 1*X0 + 1; [ cons ] (X0,X1) = 2*X1*X0 + 1*X1 + 2*X0 + 2; removing < Marked_+(1(x),1(y)),Marked_+(x,y)> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ # ] () = 0; [ sum ] (X0) = 2*X0; [ * ] (X0,X1) = 2*X1*X0; [ + ] (X0,X1) = 1*X1 + 1*X0; [ nil ] () = 2; [ 0 ] (X0) = 1*X0; [ prod ] (X0) = 1*X0; [ app ] (X0,X1) = 2*X1*X0 + 1*X1 + 2*X0; [ Marked_+ ] (X0,X1) = 2*X1 + 2*X0; [ 1 ] (X0) = 1*X0 + 2; [ cons ] (X0,X1) = 2*X1*X0 + 1*X1 + 1*X0 + 2; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} ]} ]} ]} ]} ]} ]} Cime worked for 2.179182 seconds (real time) Cime Exit Status: 0