- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(primes) -> mark(sieve(from(s(s(0))))) [2] active(from(X)) -> mark(cons(X,from(s(X)))) [3] active(head(cons(X,Y))) -> mark(X) [4] active(tail(cons(X,Y))) -> mark(Y) [5] active(if(true,X,Y)) -> mark(X) [6] active(if(false,X,Y)) -> mark(Y) [7] active(filter(s(s(X)),cons(Y,Z))) -> mark(if(divides(s(s(X)),Y),filter(s(s(X)),Z),cons(Y,filter(X,sieve(Y))))) [8] active(sieve(cons(X,Y))) -> mark(cons(X,filter(X,sieve(Y)))) [9] active(sieve(X)) -> sieve(active(X)) [10] active(from(X)) -> from(active(X)) [11] active(s(X)) -> s(active(X)) [12] active(cons(X1,X2)) -> cons(active(X1),X2) [13] active(head(X)) -> head(active(X)) [14] active(tail(X)) -> tail(active(X)) [15] active(if(X1,X2,X3)) -> if(active(X1),X2,X3) [16] active(filter(X1,X2)) -> filter(active(X1),X2) [17] active(filter(X1,X2)) -> filter(X1,active(X2)) [18] active(divides(X1,X2)) -> divides(active(X1),X2) [19] active(divides(X1,X2)) -> divides(X1,active(X2)) [20] sieve(mark(X)) -> mark(sieve(X)) [21] from(mark(X)) -> mark(from(X)) [22] s(mark(X)) -> mark(s(X)) [23] cons(mark(X1),X2) -> mark(cons(X1,X2)) [24] head(mark(X)) -> mark(head(X)) [25] tail(mark(X)) -> mark(tail(X)) [26] if(mark(X1),X2,X3) -> mark(if(X1,X2,X3)) [27] filter(mark(X1),X2) -> mark(filter(X1,X2)) [28] filter(X1,mark(X2)) -> mark(filter(X1,X2)) [29] divides(mark(X1),X2) -> mark(divides(X1,X2)) [30] divides(X1,mark(X2)) -> mark(divides(X1,X2)) [31] proper(primes) -> ok(primes) [32] proper(sieve(X)) -> sieve(proper(X)) [33] proper(from(X)) -> from(proper(X)) [34] proper(s(X)) -> s(proper(X)) [35] proper(0) -> ok(0) [36] proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) [37] proper(head(X)) -> head(proper(X)) [38] proper(tail(X)) -> tail(proper(X)) [39] proper(if(X1,X2,X3)) -> if(proper(X1),proper(X2),proper(X3)) [40] proper(true) -> ok(true) [41] proper(false) -> ok(false) [42] proper(filter(X1,X2)) -> filter(proper(X1),proper(X2)) [43] proper(divides(X1,X2)) -> divides(proper(X1),proper(X2)) [44] sieve(ok(X)) -> ok(sieve(X)) [45] from(ok(X)) -> ok(from(X)) [46] s(ok(X)) -> ok(s(X)) [47] cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) [48] head(ok(X)) -> ok(head(X)) [49] tail(ok(X)) -> ok(tail(X)) [50] if(ok(X1),ok(X2),ok(X3)) -> ok(if(X1,X2,X3)) [51] filter(ok(X1),ok(X2)) -> ok(filter(X1,X2)) [52] divides(ok(X1),ok(X2)) -> ok(divides(X1,X2)) [53] top(mark(X)) -> top(proper(X)) [54] top(ok(X)) -> top(active(X)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 12 components: { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { sieve(mark(X)) >= mark(sieve(X)) ; sieve(ok(X)) >= ok(sieve(X)) ; from(mark(X)) >= mark(from(X)) ; from(ok(X)) >= ok(from(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; active(sieve(cons(X,Y))) >= mark(cons(X,filter(X,sieve(Y)))) ; active(sieve(X)) >= sieve(active(X)) ; active(from(X)) >= mark(cons(X,from(s(X)))) ; active(from(X)) >= from(active(X)) ; active(s(X)) >= s(active(X)) ; active(primes) >= mark(sieve(from(s(s(0))))) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(head(cons(X,Y))) >= mark(X) ; active(head(X)) >= head(active(X)) ; active(tail(cons(X,Y))) >= mark(Y) ; active(tail(X)) >= tail(active(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(divides(X1,X2)) >= divides(active(X1),X2) ; active(divides(X1,X2)) >= divides(X1,active(X2)) ; active(filter(s(s(X)),cons(Y,Z))) >= mark(if(divides(s(s(X)),Y), filter(s(s(X)),Z), cons(Y,filter(X,sieve(Y))))) ; active(filter(X1,X2)) >= filter(active(X1),X2) ; active(filter(X1,X2)) >= filter(X1,active(X2)) ; cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; head(mark(X)) >= mark(head(X)) ; head(ok(X)) >= ok(head(X)) ; tail(mark(X)) >= mark(tail(X)) ; tail(ok(X)) >= ok(tail(X)) ; if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; divides(mark(X1),X2) >= mark(divides(X1,X2)) ; divides(ok(X1),ok(X2)) >= ok(divides(X1,X2)) ; divides(X1,mark(X2)) >= mark(divides(X1,X2)) ; filter(mark(X1),X2) >= mark(filter(X1,X2)) ; filter(ok(X1),ok(X2)) >= ok(filter(X1,X2)) ; filter(X1,mark(X2)) >= mark(filter(X1,X2)) ; proper(sieve(X)) >= sieve(proper(X)) ; proper(from(X)) >= from(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(primes) >= ok(primes) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(head(X)) >= head(proper(X)) ; proper(tail(X)) >= tail(proper(X)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; proper(divides(X1,X2)) >= divides(proper(X1),proper(X2)) ; proper(filter(X1,X2)) >= filter(proper(X1),proper(X2)) ; 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: { sieve(mark(X)) >= mark(sieve(X)) ; sieve(ok(X)) >= ok(sieve(X)) ; from(mark(X)) >= mark(from(X)) ; from(ok(X)) >= ok(from(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; active(sieve(cons(X,Y))) >= mark(cons(X,filter(X,sieve(Y)))) ; active(sieve(X)) >= sieve(active(X)) ; active(from(X)) >= mark(cons(X,from(s(X)))) ; active(from(X)) >= from(active(X)) ; active(s(X)) >= s(active(X)) ; active(primes) >= mark(sieve(from(s(s(0))))) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(head(cons(X,Y))) >= mark(X) ; active(head(X)) >= head(active(X)) ; active(tail(cons(X,Y))) >= mark(Y) ; active(tail(X)) >= tail(active(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(divides(X1,X2)) >= divides(active(X1),X2) ; active(divides(X1,X2)) >= divides(X1,active(X2)) ; active(filter(s(s(X)),cons(Y,Z))) >= mark(if(divides(s(s(X)),Y), filter(s(s(X)),Z), cons(Y,filter(X,sieve(Y))))) ; active(filter(X1,X2)) >= filter(active(X1),X2) ; active(filter(X1,X2)) >= filter(X1,active(X2)) ; cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; head(mark(X)) >= mark(head(X)) ; head(ok(X)) >= ok(head(X)) ; tail(mark(X)) >= mark(tail(X)) ; tail(ok(X)) >= ok(tail(X)) ; if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; divides(mark(X1),X2) >= mark(divides(X1,X2)) ; divides(ok(X1),ok(X2)) >= ok(divides(X1,X2)) ; divides(X1,mark(X2)) >= mark(divides(X1,X2)) ; filter(mark(X1),X2) >= mark(filter(X1,X2)) ; filter(ok(X1),ok(X2)) >= ok(filter(X1,X2)) ; filter(X1,mark(X2)) >= mark(filter(X1,X2)) ; proper(sieve(X)) >= sieve(proper(X)) ; proper(from(X)) >= from(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(primes) >= ok(primes) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(head(X)) >= head(proper(X)) ; proper(tail(X)) >= tail(proper(X)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; proper(divides(X1,X2)) >= divides(proper(X1),proper(X2)) ; proper(filter(X1,X2)) >= filter(proper(X1),proper(X2)) ; 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: { sieve(mark(X)) >= mark(sieve(X)) ; sieve(ok(X)) >= ok(sieve(X)) ; from(mark(X)) >= mark(from(X)) ; from(ok(X)) >= ok(from(X)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; active(sieve(cons(X,Y))) >= mark(cons(X,filter(X,sieve(Y)))) ; active(sieve(X)) >= sieve(active(X)) ; active(from(X)) >= mark(cons(X,from(s(X)))) ; active(from(X)) >= from(active(X)) ; active(s(X)) >= s(active(X)) ; active(primes) >= mark(sieve(from(s(s(0))))) ; active(cons(X1,X2)) >= cons(active(X1),X2) ; active(head(cons(X,Y))) >= mark(X) ; active(head(X)) >= head(active(X)) ; active(tail(cons(X,Y))) >= mark(Y) ; active(tail(X)) >= tail(active(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(divides(X1,X2)) >= divides(active(X1),X2) ; active(divides(X1,X2)) >= divides(X1,active(X2)) ; active(filter(s(s(X)),cons(Y,Z))) >= mark(if(divides(s(s(X)),Y), filter(s(s(X)),Z), cons(Y,filter(X,sieve(Y))))) ; active(filter(X1,X2)) >= filter(active(X1),X2) ; active(filter(X1,X2)) >= filter(X1,active(X2)) ; cons(mark(X1),X2) >= mark(cons(X1,X2)) ; cons(ok(X1),ok(X2)) >= ok(cons(X1,X2)) ; head(mark(X)) >= mark(head(X)) ; head(ok(X)) >= ok(head(X)) ; tail(mark(X)) >= mark(tail(X)) ; tail(ok(X)) >= ok(tail(X)) ; if(mark(X1),X2,X3) >= mark(if(X1,X2,X3)) ; if(ok(X1),ok(X2),ok(X3)) >= ok(if(X1,X2,X3)) ; divides(mark(X1),X2) >= mark(divides(X1,X2)) ; divides(ok(X1),ok(X2)) >= ok(divides(X1,X2)) ; divides(X1,mark(X2)) >= mark(divides(X1,X2)) ; filter(mark(X1),X2) >= mark(filter(X1,X2)) ; filter(ok(X1),ok(X2)) >= ok(filter(X1,X2)) ; filter(X1,mark(X2)) >= mark(filter(X1,X2)) ; proper(sieve(X)) >= sieve(proper(X)) ; proper(from(X)) >= from(proper(X)) ; proper(s(X)) >= s(proper(X)) ; proper(0) >= ok(0) ; proper(primes) >= ok(primes) ; proper(cons(X1,X2)) >= cons(proper(X1),proper(X2)) ; proper(head(X)) >= head(proper(X)) ; proper(tail(X)) >= tail(proper(X)) ; proper(if(X1,X2,X3)) >= if(proper(X1),proper(X2),proper(X3)) ; proper(true) >= ok(true) ; proper(false) >= ok(false) ; proper(divides(X1,X2)) >= divides(proper(X1),proper(X2)) ; proper(filter(X1,X2)) >= filter(proper(X1),proper(X2)) ; 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.(6064 bt (8710) [269]) === 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 (ID_CRIT) NOT SOLVED No proof found Cime worked for 156.065539 seconds (real time) Cime Exit Status: 0