- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(fact(X)) -> mark(if(zero(X),s(0),prod(X,fact(p(X))))) [2] active(add(0,X)) -> mark(X) [3] active(add(s(X),Y)) -> mark(s(add(X,Y))) [4] active(prod(0,X)) -> mark(0) [5] active(prod(s(X),Y)) -> mark(add(Y,prod(X,Y))) [6] active(if(true,X,Y)) -> mark(X) [7] active(if(false,X,Y)) -> mark(Y) [8] active(zero(0)) -> mark(true) [9] active(zero(s(X))) -> mark(false) [10] active(p(s(X))) -> mark(X) [11] active(fact(X)) -> fact(active(X)) [12] active(if(X1,X2,X3)) -> if(active(X1),X2,X3) [13] active(zero(X)) -> zero(active(X)) [14] active(s(X)) -> s(active(X)) [15] active(prod(X1,X2)) -> prod(active(X1),X2) [16] active(prod(X1,X2)) -> prod(X1,active(X2)) [17] active(p(X)) -> p(active(X)) [18] active(add(X1,X2)) -> add(active(X1),X2) [19] active(add(X1,X2)) -> add(X1,active(X2)) [20] fact(mark(X)) -> mark(fact(X)) [21] if(mark(X1),X2,X3) -> mark(if(X1,X2,X3)) [22] zero(mark(X)) -> mark(zero(X)) [23] s(mark(X)) -> mark(s(X)) [24] prod(mark(X1),X2) -> mark(prod(X1,X2)) [25] prod(X1,mark(X2)) -> mark(prod(X1,X2)) [26] p(mark(X)) -> mark(p(X)) [27] add(mark(X1),X2) -> mark(add(X1,X2)) [28] add(X1,mark(X2)) -> mark(add(X1,X2)) [29] proper(fact(X)) -> fact(proper(X)) [30] proper(if(X1,X2,X3)) -> if(proper(X1),proper(X2),proper(X3)) [31] proper(zero(X)) -> zero(proper(X)) [32] proper(s(X)) -> s(proper(X)) [33] proper(0) -> ok(0) [34] proper(prod(X1,X2)) -> prod(proper(X1),proper(X2)) [35] proper(p(X)) -> p(proper(X)) [36] proper(add(X1,X2)) -> add(proper(X1),proper(X2)) [37] proper(true) -> ok(true) [38] proper(false) -> ok(false) [39] fact(ok(X)) -> ok(fact(X)) [40] if(ok(X1),ok(X2),ok(X3)) -> ok(if(X1,X2,X3)) [41] zero(ok(X)) -> ok(zero(X)) [42] s(ok(X)) -> ok(s(X)) [43] prod(ok(X1),ok(X2)) -> ok(prod(X1,X2)) [44] p(ok(X)) -> ok(p(X)) [45] add(ok(X1),ok(X2)) -> ok(add(X1,X2)) [46] top(mark(X)) -> top(proper(X)) [47] top(ok(X)) -> top(active(X)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 10 components: { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; zero(mark(X)) >= mark(zero(X)) ; zero(ok(X)) >= ok(zero(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; prod(mark(X1),X2) >= mark(prod(X1,X2)) ; prod(ok(X1),ok(X2)) >= ok(prod(X1,X2)) ; prod(X1,mark(X2)) >= mark(prod(X1,X2)) ; fact(mark(X)) >= mark(fact(X)) ; fact(ok(X)) >= ok(fact(X)) ; p(mark(X)) >= mark(p(X)) ; p(ok(X)) >= ok(p(X)) ; active(if(true,X,Y)) >= mark(X) ; active(if(false,X,Y)) >= mark(Y) ; active(if(X1,X2,X3)) >= if(active(X1),X2,X3) ; active(zero(s(X))) >= mark(false) ; active(zero(0)) >= mark(true) ; active(zero(X)) >= zero(active(X)) ; active(s(X)) >= s(active(X)) ; active(prod(s(X),Y)) >= mark(add(Y,prod(X,Y))) ; active(prod(0,X)) >= mark(0) ; active(prod(X1,X2)) >= prod(active(X1),X2) ; active(prod(X1,X2)) >= prod(X1,active(X2)) ; active(fact(X)) >= mark(if(zero(X),s(0),prod(X,fact(p(X))))) ; active(fact(X)) >= fact(active(X)) ; active(p(s(X))) >= mark(X) ; active(p(X)) >= p(active(X)) ; active(add(s(X),Y)) >= mark(s(add(X,Y))) ; active(add(0,X)) >= mark(X) ; active(add(X1,X2)) >= add(active(X1),X2) ; active(add(X1,X2)) >= add(X1,active(X2)) ; add(mark(X1),X2) >= mark(add(X1,X2)) ; add(ok(X1),ok(X2)) >= ok(add(X1,X2)) ; add(X1,mark(X2)) >= mark(add(X1,X2)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(zero(X)) >= zero(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(prod(X1,X2)) >= prod(proper(X1),proper(X2)) ; proper(fact(X)) >= fact(proper(X)) ; proper(p(X)) >= p(proper(X)) ; proper(add(X1,X2)) >= add(proper(X1),proper(X2)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) >= Marked_top(proper(X)) ; Marked_top(ok(X)) >= Marked_top(active(X)) ; } + Disjunctions:{ { Marked_top(mark(X)) > Marked_top(proper(X)) ; } { Marked_top(ok(X)) > Marked_top(active(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 : 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 timeout reached === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (Simple graph) Found the following constraints: { if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; zero(mark(X)) >= mark(zero(X)) ; zero(ok(X)) >= ok(zero(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; prod(mark(X1),X2) >= mark(prod(X1,X2)) ; prod(ok(X1),ok(X2)) >= ok(prod(X1,X2)) ; prod(X1,mark(X2)) >= mark(prod(X1,X2)) ; fact(mark(X)) >= mark(fact(X)) ; fact(ok(X)) >= ok(fact(X)) ; p(mark(X)) >= mark(p(X)) ; p(ok(X)) >= ok(p(X)) ; active(if(true,X,Y)) >= mark(X) ; active(if(false,X,Y)) >= mark(Y) ; active(if(X1,X2,X3)) >= if(active(X1),X2,X3) ; active(zero(s(X))) >= mark(false) ; active(zero(0)) >= mark(true) ; active(zero(X)) >= zero(active(X)) ; active(s(X)) >= s(active(X)) ; active(prod(s(X),Y)) >= mark(add(Y,prod(X,Y))) ; active(prod(0,X)) >= mark(0) ; active(prod(X1,X2)) >= prod(active(X1),X2) ; active(prod(X1,X2)) >= prod(X1,active(X2)) ; active(fact(X)) >= mark(if(zero(X),s(0),prod(X,fact(p(X))))) ; active(fact(X)) >= fact(active(X)) ; active(p(s(X))) >= mark(X) ; active(p(X)) >= p(active(X)) ; active(add(s(X),Y)) >= mark(s(add(X,Y))) ; active(add(0,X)) >= mark(X) ; active(add(X1,X2)) >= add(active(X1),X2) ; active(add(X1,X2)) >= add(X1,active(X2)) ; add(mark(X1),X2) >= mark(add(X1,X2)) ; add(ok(X1),ok(X2)) >= ok(add(X1,X2)) ; add(X1,mark(X2)) >= mark(add(X1,X2)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(zero(X)) >= zero(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(prod(X1,X2)) >= prod(proper(X1),proper(X2)) ; proper(fact(X)) >= fact(proper(X)) ; proper(p(X)) >= p(proper(X)) ; proper(add(X1,X2)) >= add(proper(X1),proper(X2)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) > Marked_top(proper(X)) ; Marked_top(ok(X)) > Marked_top(active(X)) ; } APPLY CRITERIA (SOLVE_ORD) Trying to solve the following constraints: { if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; zero(mark(X)) >= mark(zero(X)) ; zero(ok(X)) >= ok(zero(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; prod(mark(X1),X2) >= mark(prod(X1,X2)) ; prod(ok(X1),ok(X2)) >= ok(prod(X1,X2)) ; prod(X1,mark(X2)) >= mark(prod(X1,X2)) ; fact(mark(X)) >= mark(fact(X)) ; fact(ok(X)) >= ok(fact(X)) ; p(mark(X)) >= mark(p(X)) ; p(ok(X)) >= ok(p(X)) ; active(if(true,X,Y)) >= mark(X) ; active(if(false,X,Y)) >= mark(Y) ; active(if(X1,X2,X3)) >= if(active(X1),X2,X3) ; active(zero(s(X))) >= mark(false) ; active(zero(0)) >= mark(true) ; active(zero(X)) >= zero(active(X)) ; active(s(X)) >= s(active(X)) ; active(prod(s(X),Y)) >= mark(add(Y,prod(X,Y))) ; active(prod(0,X)) >= mark(0) ; active(prod(X1,X2)) >= prod(active(X1),X2) ; active(prod(X1,X2)) >= prod(X1,active(X2)) ; active(fact(X)) >= mark(if(zero(X),s(0),prod(X,fact(p(X))))) ; active(fact(X)) >= fact(active(X)) ; active(p(s(X))) >= mark(X) ; active(p(X)) >= p(active(X)) ; active(add(s(X),Y)) >= mark(s(add(X,Y))) ; active(add(0,X)) >= mark(X) ; active(add(X1,X2)) >= add(active(X1),X2) ; active(add(X1,X2)) >= add(X1,active(X2)) ; add(mark(X1),X2) >= mark(add(X1,X2)) ; add(ok(X1),ok(X2)) >= ok(add(X1,X2)) ; add(X1,mark(X2)) >= mark(add(X1,X2)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(zero(X)) >= zero(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(prod(X1,X2)) >= prod(proper(X1),proper(X2)) ; proper(fact(X)) >= fact(proper(X)) ; proper(p(X)) >= p(proper(X)) ; proper(add(X1,X2)) >= add(proper(X1),proper(X2)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) > Marked_top(proper(X)) ; Marked_top(ok(X)) > Marked_top(active(X)) ; } + Disjunctions:{ } === 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 === No solution found for these parameters.(12843 bt (17119) [1459]) === 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 === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (ID_CRIT) NOT SOLVED No proof found Cime worked for 95.005510 seconds (real time) Cime Exit Status: 0