- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] a__zeros -> cons(0,zeros) [2] a__U11(tt) -> tt [3] a__U21(tt) -> tt [4] a__U31(tt) -> tt [5] a__U41(tt,V2) -> a__U42(a__isNatIList(V2)) [6] a__U42(tt) -> tt [7] a__U51(tt,V2) -> a__U52(a__isNatList(V2)) [8] a__U52(tt) -> tt [9] a__U61(tt,V2) -> a__U62(a__isNatIList(V2)) [10] a__U62(tt) -> tt [11] a__U71(tt,L,N) -> a__U72(a__isNat(N),L) [12] a__U72(tt,L) -> s(a__length(mark(L))) [13] a__U81(tt) -> nil [14] a__U91(tt,IL,M,N) -> a__U92(a__isNat(M),IL,M,N) [15] a__U92(tt,IL,M,N) -> a__U93(a__isNat(N),IL,M,N) [16] a__U93(tt,IL,M,N) -> cons(mark(N),take(M,IL)) [17] a__isNat(0) -> tt [18] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [19] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [20] a__isNatIList(V) -> a__U31(a__isNatList(V)) [21] a__isNatIList(zeros) -> tt [22] a__isNatIList(cons(V1,V2)) -> a__U41(a__isNat(V1),V2) [23] a__isNatList(nil) -> tt [24] a__isNatList(cons(V1,V2)) -> a__U51(a__isNat(V1),V2) [25] a__isNatList(take(V1,V2)) -> a__U61(a__isNat(V1),V2) [26] a__length(nil) -> 0 [27] a__length(cons(N,L)) -> a__U71(a__isNatList(L),L,N) [28] a__take(0,IL) -> a__U81(a__isNatIList(IL)) [29] a__take(s(M),cons(N,IL)) -> a__U91(a__isNatIList(IL),IL,M,N) [30] mark(zeros) -> a__zeros [31] mark(U11(X)) -> a__U11(mark(X)) [32] mark(U21(X)) -> a__U21(mark(X)) [33] mark(U31(X)) -> a__U31(mark(X)) [34] mark(U41(X1,X2)) -> a__U41(mark(X1),X2) [35] mark(U42(X)) -> a__U42(mark(X)) [36] mark(isNatIList(X)) -> a__isNatIList(X) [37] mark(U51(X1,X2)) -> a__U51(mark(X1),X2) [38] mark(U52(X)) -> a__U52(mark(X)) [39] mark(isNatList(X)) -> a__isNatList(X) [40] mark(U61(X1,X2)) -> a__U61(mark(X1),X2) [41] mark(U62(X)) -> a__U62(mark(X)) [42] mark(U71(X1,X2,X3)) -> a__U71(mark(X1),X2,X3) [43] mark(U72(X1,X2)) -> a__U72(mark(X1),X2) [44] mark(isNat(X)) -> a__isNat(X) [45] mark(length(X)) -> a__length(mark(X)) [46] mark(U81(X)) -> a__U81(mark(X)) [47] mark(U91(X1,X2,X3,X4)) -> a__U91(mark(X1),X2,X3,X4) [48] mark(U92(X1,X2,X3,X4)) -> a__U92(mark(X1),X2,X3,X4) [49] mark(U93(X1,X2,X3,X4)) -> a__U93(mark(X1),X2,X3,X4) [50] mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) [51] mark(cons(X1,X2)) -> cons(mark(X1),X2) [52] mark(0) -> 0 [53] mark(tt) -> tt [54] mark(s(X)) -> s(mark(X)) [55] mark(nil) -> nil [56] a__zeros -> zeros [57] a__U11(X) -> U11(X) [58] a__U21(X) -> U21(X) [59] a__U31(X) -> U31(X) [60] a__U41(X1,X2) -> U41(X1,X2) [61] a__U42(X) -> U42(X) [62] a__isNatIList(X) -> isNatIList(X) [63] a__U51(X1,X2) -> U51(X1,X2) [64] a__U52(X) -> U52(X) [65] a__isNatList(X) -> isNatList(X) [66] a__U61(X1,X2) -> U61(X1,X2) [67] a__U62(X) -> U62(X) [68] a__U71(X1,X2,X3) -> U71(X1,X2,X3) [69] a__U72(X1,X2) -> U72(X1,X2) [70] a__isNat(X) -> isNat(X) [71] a__length(X) -> length(X) [72] a__U81(X) -> U81(X) [73] a__U91(X1,X2,X3,X4) -> U91(X1,X2,X3,X4) [74] a__U92(X1,X2,X3,X4) -> U92(X1,X2,X3,X4) [75] a__U93(X1,X2,X3,X4) -> U93(X1,X2,X3,X4) [76] a__take(X1,X2) -> take(X1,X2) 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: { a__zeros >= cons(0,zeros) ; a__zeros >= zeros ; a__U11(tt) >= tt ; a__U11(X) >= U11(X) ; a__U21(tt) >= tt ; a__U21(X) >= U21(X) ; a__U31(tt) >= tt ; a__U31(X) >= U31(X) ; a__U42(tt) >= tt ; a__U42(X) >= U42(X) ; a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) ; a__isNatIList(zeros) >= tt ; a__isNatIList(V) >= a__U31(a__isNatList(V)) ; a__isNatIList(X) >= isNatIList(X) ; a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) ; a__U41(X1,X2) >= U41(X1,X2) ; a__U52(tt) >= tt ; a__U52(X) >= U52(X) ; a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) ; a__isNatList(nil) >= tt ; a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) ; a__isNatList(X) >= isNatList(X) ; a__U51(tt,V2) >= a__U52(a__isNatList(V2)) ; a__U51(X1,X2) >= U51(X1,X2) ; a__U62(tt) >= tt ; a__U62(X) >= U62(X) ; a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) ; a__U61(X1,X2) >= U61(X1,X2) ; a__U72(tt,L) >= s(a__length(mark(L))) ; a__U72(X1,X2) >= U72(X1,X2) ; a__isNat(0) >= tt ; a__isNat(s(V1)) >= a__U21(a__isNat(V1)) ; a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) ; a__isNat(X) >= isNat(X) ; a__U71(tt,L,N) >= a__U72(a__isNat(N),L) ; a__U71(X1,X2,X3) >= U71(X1,X2,X3) ; a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) ; a__length(nil) >= 0 ; a__length(X) >= length(X) ; mark(cons(X1,X2)) >= cons(mark(X1),X2) ; mark(0) >= 0 ; mark(zeros) >= a__zeros ; mark(tt) >= tt ; mark(s(X)) >= s(mark(X)) ; mark(nil) >= nil ; mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) ; mark(length(X)) >= a__length(mark(X)) ; mark(U11(X)) >= a__U11(mark(X)) ; mark(U21(X)) >= a__U21(mark(X)) ; mark(U31(X)) >= a__U31(mark(X)) ; mark(U41(X1,X2)) >= a__U41(mark(X1),X2) ; mark(U42(X)) >= a__U42(mark(X)) ; mark(isNatIList(X)) >= a__isNatIList(X) ; mark(U51(X1,X2)) >= a__U51(mark(X1),X2) ; mark(U52(X)) >= a__U52(mark(X)) ; mark(isNatList(X)) >= a__isNatList(X) ; mark(U61(X1,X2)) >= a__U61(mark(X1),X2) ; mark(U62(X)) >= a__U62(mark(X)) ; mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) ; mark(U72(X1,X2)) >= a__U72(mark(X1),X2) ; mark(isNat(X)) >= a__isNat(X) ; mark(U81(X)) >= a__U81(mark(X)) ; mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) ; mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) ; mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) ; a__U81(tt) >= nil ; a__U81(X) >= U81(X) ; a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) ; a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) ; a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) ; a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) ; a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) ; a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) ; a__take(0,IL) >= a__U81(a__isNatIList(IL)) ; a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) ; a__take(X1,X2) >= take(X1,X2) ; Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL),IL,M,N) ; Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) ; Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) ; Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) ; Marked_a__length(cons(N,L)) >= Marked_a__U71(a__isNatList(L),L,N) ; Marked_a__U72(tt,L) >= Marked_a__length(mark(L)) ; Marked_a__U72(tt,L) >= Marked_mark(L) ; Marked_a__U71(tt,L,N) >= Marked_a__U72(a__isNat(N),L) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(length(X)) >= Marked_a__length(mark(X)) ; Marked_mark(length(X)) >= Marked_mark(X) ; Marked_mark(U11(X)) >= Marked_mark(X) ; Marked_mark(U21(X)) >= Marked_mark(X) ; Marked_mark(U31(X)) >= Marked_mark(X) ; Marked_mark(U41(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U42(X)) >= Marked_mark(X) ; Marked_mark(U51(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U52(X)) >= Marked_mark(X) ; Marked_mark(U61(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U62(X)) >= Marked_mark(X) ; Marked_mark(U71(X1,X2,X3)) >= Marked_a__U71(mark(X1),X2,X3) ; Marked_mark(U71(X1,X2,X3)) >= Marked_mark(X1) ; Marked_mark(U72(X1,X2)) >= Marked_a__U72(mark(X1),X2) ; Marked_mark(U72(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U81(X)) >= Marked_mark(X) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) ; } + Disjunctions:{ { Marked_a__take(s(M),cons(N,IL)) > Marked_a__U91(a__isNatIList(IL),IL,M,N) ; } { Marked_a__U93(tt,IL,M,N) > Marked_mark(N) ; } { Marked_a__U92(tt,IL,M,N) > Marked_a__U93(a__isNat(N),IL,M,N) ; } { Marked_a__U91(tt,IL,M,N) > Marked_a__U92(a__isNat(M),IL,M,N) ; } { Marked_a__length(cons(N,L)) > Marked_a__U71(a__isNatList(L),L,N) ; } { Marked_a__U72(tt,L) > Marked_a__length(mark(L)) ; } { Marked_a__U72(tt,L) > Marked_mark(L) ; } { Marked_a__U71(tt,L,N) > Marked_a__U72(a__isNat(N),L) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(take(X1,X2)) > Marked_a__take(mark(X1),mark(X2)) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(length(X)) > Marked_a__length(mark(X)) ; } { Marked_mark(length(X)) > Marked_mark(X) ; } { Marked_mark(U11(X)) > Marked_mark(X) ; } { Marked_mark(U21(X)) > Marked_mark(X) ; } { Marked_mark(U31(X)) > Marked_mark(X) ; } { Marked_mark(U41(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U42(X)) > Marked_mark(X) ; } { Marked_mark(U51(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U52(X)) > Marked_mark(X) ; } { Marked_mark(U61(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U62(X)) > Marked_mark(X) ; } { Marked_mark(U71(X1,X2,X3)) > Marked_a__U71(mark(X1),X2,X3) ; } { Marked_mark(U71(X1,X2,X3)) > Marked_mark(X1) ; } { Marked_mark(U72(X1,X2)) > Marked_a__U72(mark(X1),X2) ; } { Marked_mark(U72(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U81(X)) > Marked_mark(X) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_a__U91(mark(X1),X2,X3,X4) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_a__U92(mark(X1),X2,X3,X4) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_a__U93(mark(X1),X2,X3,X4) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_mark(X1) ; } } === 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: a__zeros >= cons(0,zeros) constraint: a__zeros >= zeros constraint: a__U11(tt) >= tt constraint: a__U11(X) >= U11(X) constraint: a__U21(tt) >= tt constraint: a__U21(X) >= U21(X) constraint: a__U31(tt) >= tt constraint: a__U31(X) >= U31(X) constraint: a__U42(tt) >= tt constraint: a__U42(X) >= U42(X) constraint: a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) constraint: a__isNatIList(zeros) >= tt constraint: a__isNatIList(V) >= a__U31(a__isNatList(V)) constraint: a__isNatIList(X) >= isNatIList(X) constraint: a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) constraint: a__U41(X1,X2) >= U41(X1,X2) constraint: a__U52(tt) >= tt constraint: a__U52(X) >= U52(X) constraint: a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) constraint: a__isNatList(nil) >= tt constraint: a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) constraint: a__isNatList(X) >= isNatList(X) constraint: a__U51(tt,V2) >= a__U52(a__isNatList(V2)) constraint: a__U51(X1,X2) >= U51(X1,X2) constraint: a__U62(tt) >= tt constraint: a__U62(X) >= U62(X) constraint: a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) constraint: a__U61(X1,X2) >= U61(X1,X2) constraint: a__U72(tt,L) >= s(a__length(mark(L))) constraint: a__U72(X1,X2) >= U72(X1,X2) constraint: a__isNat(0) >= tt constraint: a__isNat(s(V1)) >= a__U21(a__isNat(V1)) constraint: a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) constraint: a__isNat(X) >= isNat(X) constraint: a__U71(tt,L,N) >= a__U72(a__isNat(N),L) constraint: a__U71(X1,X2,X3) >= U71(X1,X2,X3) constraint: a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) constraint: a__length(nil) >= 0 constraint: a__length(X) >= length(X) constraint: mark(cons(X1,X2)) >= cons(mark(X1),X2) constraint: mark(0) >= 0 constraint: mark(zeros) >= a__zeros constraint: mark(tt) >= tt constraint: mark(s(X)) >= s(mark(X)) constraint: mark(nil) >= nil constraint: mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) constraint: mark(length(X)) >= a__length(mark(X)) constraint: mark(U11(X)) >= a__U11(mark(X)) constraint: mark(U21(X)) >= a__U21(mark(X)) constraint: mark(U31(X)) >= a__U31(mark(X)) constraint: mark(U41(X1,X2)) >= a__U41(mark(X1),X2) constraint: mark(U42(X)) >= a__U42(mark(X)) constraint: mark(isNatIList(X)) >= a__isNatIList(X) constraint: mark(U51(X1,X2)) >= a__U51(mark(X1),X2) constraint: mark(U52(X)) >= a__U52(mark(X)) constraint: mark(isNatList(X)) >= a__isNatList(X) constraint: mark(U61(X1,X2)) >= a__U61(mark(X1),X2) constraint: mark(U62(X)) >= a__U62(mark(X)) constraint: mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) constraint: mark(U72(X1,X2)) >= a__U72(mark(X1),X2) constraint: mark(isNat(X)) >= a__isNat(X) constraint: mark(U81(X)) >= a__U81(mark(X)) constraint: mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) constraint: mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) constraint: mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) constraint: a__U81(tt) >= nil constraint: a__U81(X) >= U81(X) constraint: a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) constraint: a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) constraint: a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) constraint: a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) constraint: a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) constraint: a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) constraint: a__take(0,IL) >= a__U81(a__isNatIList(IL)) constraint: a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) constraint: a__take(X1,X2) >= take(X1,X2) constraint: Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL), IL,M,N) constraint: Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) constraint: Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) constraint: Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) constraint: Marked_a__length(cons(N,L)) >= Marked_a__U71(a__isNatList(L),L,N) constraint: Marked_a__U72(tt,L) >= Marked_a__length(mark(L)) constraint: Marked_a__U72(tt,L) >= Marked_mark(L) constraint: Marked_a__U71(tt,L,N) >= Marked_a__U72(a__isNat(N),L) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(length(X)) >= Marked_a__length(mark(X)) constraint: Marked_mark(length(X)) >= Marked_mark(X) constraint: Marked_mark(U11(X)) >= Marked_mark(X) constraint: Marked_mark(U21(X)) >= Marked_mark(X) constraint: Marked_mark(U31(X)) >= Marked_mark(X) constraint: Marked_mark(U41(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U42(X)) >= Marked_mark(X) constraint: Marked_mark(U51(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U52(X)) >= Marked_mark(X) constraint: Marked_mark(U61(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U62(X)) >= Marked_mark(X) constraint: Marked_mark(U71(X1,X2,X3)) >= Marked_a__U71(mark(X1),X2,X3) constraint: Marked_mark(U71(X1,X2,X3)) >= Marked_mark(X1) constraint: Marked_mark(U72(X1,X2)) >= Marked_a__U72(mark(X1),X2) constraint: Marked_mark(U72(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U81(X)) >= Marked_mark(X) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) APPLY CRITERIA (Subterm criterion) ST: Marked_a__isNat -> 1 Marked_a__U61 -> 2 Marked_a__isNatList -> 1 Marked_a__U51 -> 2 Marked_a__isNatIList -> 1 Marked_a__U41 -> 2 APPLY CRITERIA (Graph splitting) Found 2 components: { --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a__zeros >= cons(0,zeros) ; a__zeros >= zeros ; a__U11(tt) >= tt ; a__U11(X) >= U11(X) ; a__U21(tt) >= tt ; a__U21(X) >= U21(X) ; a__U31(tt) >= tt ; a__U31(X) >= U31(X) ; a__U42(tt) >= tt ; a__U42(X) >= U42(X) ; a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) ; a__isNatIList(zeros) >= tt ; a__isNatIList(V) >= a__U31(a__isNatList(V)) ; a__isNatIList(X) >= isNatIList(X) ; a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) ; a__U41(X1,X2) >= U41(X1,X2) ; a__U52(tt) >= tt ; a__U52(X) >= U52(X) ; a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) ; a__isNatList(nil) >= tt ; a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) ; a__isNatList(X) >= isNatList(X) ; a__U51(tt,V2) >= a__U52(a__isNatList(V2)) ; a__U51(X1,X2) >= U51(X1,X2) ; a__U62(tt) >= tt ; a__U62(X) >= U62(X) ; a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) ; a__U61(X1,X2) >= U61(X1,X2) ; a__U72(tt,L) >= s(a__length(mark(L))) ; a__U72(X1,X2) >= U72(X1,X2) ; a__isNat(0) >= tt ; a__isNat(s(V1)) >= a__U21(a__isNat(V1)) ; a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) ; a__isNat(X) >= isNat(X) ; a__U71(tt,L,N) >= a__U72(a__isNat(N),L) ; a__U71(X1,X2,X3) >= U71(X1,X2,X3) ; a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) ; a__length(nil) >= 0 ; a__length(X) >= length(X) ; mark(cons(X1,X2)) >= cons(mark(X1),X2) ; mark(0) >= 0 ; mark(zeros) >= a__zeros ; mark(tt) >= tt ; mark(s(X)) >= s(mark(X)) ; mark(nil) >= nil ; mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) ; mark(length(X)) >= a__length(mark(X)) ; mark(U11(X)) >= a__U11(mark(X)) ; mark(U21(X)) >= a__U21(mark(X)) ; mark(U31(X)) >= a__U31(mark(X)) ; mark(U41(X1,X2)) >= a__U41(mark(X1),X2) ; mark(U42(X)) >= a__U42(mark(X)) ; mark(isNatIList(X)) >= a__isNatIList(X) ; mark(U51(X1,X2)) >= a__U51(mark(X1),X2) ; mark(U52(X)) >= a__U52(mark(X)) ; mark(isNatList(X)) >= a__isNatList(X) ; mark(U61(X1,X2)) >= a__U61(mark(X1),X2) ; mark(U62(X)) >= a__U62(mark(X)) ; mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) ; mark(U72(X1,X2)) >= a__U72(mark(X1),X2) ; mark(isNat(X)) >= a__isNat(X) ; mark(U81(X)) >= a__U81(mark(X)) ; mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) ; mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) ; mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) ; a__U81(tt) >= nil ; a__U81(X) >= U81(X) ; a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) ; a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) ; a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) ; a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) ; a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) ; a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) ; a__take(0,IL) >= a__U81(a__isNatIList(IL)) ; a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) ; a__take(X1,X2) >= take(X1,X2) ; Marked_a__length(cons(N,L)) >= Marked_a__U71(a__isNatList(L),L,N) ; Marked_a__U72(tt,L) >= Marked_a__length(mark(L)) ; Marked_a__U71(tt,L,N) >= Marked_a__U72(a__isNat(N),L) ; } + Disjunctions:{ { Marked_a__length(cons(N,L)) > Marked_a__U71(a__isNatList(L),L,N) ; } { Marked_a__U72(tt,L) > Marked_a__length(mark(L)) ; } { Marked_a__U71(tt,L,N) > Marked_a__U72(a__isNat(N),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: a__zeros >= cons(0,zeros) constraint: a__zeros >= zeros constraint: a__U11(tt) >= tt constraint: a__U11(X) >= U11(X) constraint: a__U21(tt) >= tt constraint: a__U21(X) >= U21(X) constraint: a__U31(tt) >= tt constraint: a__U31(X) >= U31(X) constraint: a__U42(tt) >= tt constraint: a__U42(X) >= U42(X) constraint: a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) constraint: a__isNatIList(zeros) >= tt constraint: a__isNatIList(V) >= a__U31(a__isNatList(V)) constraint: a__isNatIList(X) >= isNatIList(X) constraint: a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) constraint: a__U41(X1,X2) >= U41(X1,X2) constraint: a__U52(tt) >= tt constraint: a__U52(X) >= U52(X) constraint: a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) constraint: a__isNatList(nil) >= tt constraint: a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) constraint: a__isNatList(X) >= isNatList(X) constraint: a__U51(tt,V2) >= a__U52(a__isNatList(V2)) constraint: a__U51(X1,X2) >= U51(X1,X2) constraint: a__U62(tt) >= tt constraint: a__U62(X) >= U62(X) constraint: a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) constraint: a__U61(X1,X2) >= U61(X1,X2) constraint: a__U72(tt,L) >= s(a__length(mark(L))) constraint: a__U72(X1,X2) >= U72(X1,X2) constraint: a__isNat(0) >= tt constraint: a__isNat(s(V1)) >= a__U21(a__isNat(V1)) constraint: a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) constraint: a__isNat(X) >= isNat(X) constraint: a__U71(tt,L,N) >= a__U72(a__isNat(N),L) constraint: a__U71(X1,X2,X3) >= U71(X1,X2,X3) constraint: a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) constraint: a__length(nil) >= 0 constraint: a__length(X) >= length(X) constraint: mark(cons(X1,X2)) >= cons(mark(X1),X2) constraint: mark(0) >= 0 constraint: mark(zeros) >= a__zeros constraint: mark(tt) >= tt constraint: mark(s(X)) >= s(mark(X)) constraint: mark(nil) >= nil constraint: mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) constraint: mark(length(X)) >= a__length(mark(X)) constraint: mark(U11(X)) >= a__U11(mark(X)) constraint: mark(U21(X)) >= a__U21(mark(X)) constraint: mark(U31(X)) >= a__U31(mark(X)) constraint: mark(U41(X1,X2)) >= a__U41(mark(X1),X2) constraint: mark(U42(X)) >= a__U42(mark(X)) constraint: mark(isNatIList(X)) >= a__isNatIList(X) constraint: mark(U51(X1,X2)) >= a__U51(mark(X1),X2) constraint: mark(U52(X)) >= a__U52(mark(X)) constraint: mark(isNatList(X)) >= a__isNatList(X) constraint: mark(U61(X1,X2)) >= a__U61(mark(X1),X2) constraint: mark(U62(X)) >= a__U62(mark(X)) constraint: mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) constraint: mark(U72(X1,X2)) >= a__U72(mark(X1),X2) constraint: mark(isNat(X)) >= a__isNat(X) constraint: mark(U81(X)) >= a__U81(mark(X)) constraint: mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) constraint: mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) constraint: mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) constraint: a__U81(tt) >= nil constraint: a__U81(X) >= U81(X) constraint: a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) constraint: a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) constraint: a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) constraint: a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) constraint: a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) constraint: a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) constraint: a__take(0,IL) >= a__U81(a__isNatIList(IL)) constraint: a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) constraint: a__take(X1,X2) >= take(X1,X2) constraint: Marked_a__length(cons(N,L)) >= Marked_a__U71(a__isNatList(L),L,N) constraint: Marked_a__U72(tt,L) >= Marked_a__length(mark(L)) constraint: Marked_a__U71(tt,L,N) >= Marked_a__U72(a__isNat(N),L) APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a__zeros >= cons(0,zeros) ; a__zeros >= zeros ; a__U11(tt) >= tt ; a__U11(X) >= U11(X) ; a__U21(tt) >= tt ; a__U21(X) >= U21(X) ; a__U31(tt) >= tt ; a__U31(X) >= U31(X) ; a__U42(tt) >= tt ; a__U42(X) >= U42(X) ; a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) ; a__isNatIList(zeros) >= tt ; a__isNatIList(V) >= a__U31(a__isNatList(V)) ; a__isNatIList(X) >= isNatIList(X) ; a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) ; a__U41(X1,X2) >= U41(X1,X2) ; a__U52(tt) >= tt ; a__U52(X) >= U52(X) ; a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) ; a__isNatList(nil) >= tt ; a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) ; a__isNatList(X) >= isNatList(X) ; a__U51(tt,V2) >= a__U52(a__isNatList(V2)) ; a__U51(X1,X2) >= U51(X1,X2) ; a__U62(tt) >= tt ; a__U62(X) >= U62(X) ; a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) ; a__U61(X1,X2) >= U61(X1,X2) ; a__U72(tt,L) >= s(a__length(mark(L))) ; a__U72(X1,X2) >= U72(X1,X2) ; a__isNat(0) >= tt ; a__isNat(s(V1)) >= a__U21(a__isNat(V1)) ; a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) ; a__isNat(X) >= isNat(X) ; a__U71(tt,L,N) >= a__U72(a__isNat(N),L) ; a__U71(X1,X2,X3) >= U71(X1,X2,X3) ; a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) ; a__length(nil) >= 0 ; a__length(X) >= length(X) ; mark(cons(X1,X2)) >= cons(mark(X1),X2) ; mark(0) >= 0 ; mark(zeros) >= a__zeros ; mark(tt) >= tt ; mark(s(X)) >= s(mark(X)) ; mark(nil) >= nil ; mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) ; mark(length(X)) >= a__length(mark(X)) ; mark(U11(X)) >= a__U11(mark(X)) ; mark(U21(X)) >= a__U21(mark(X)) ; mark(U31(X)) >= a__U31(mark(X)) ; mark(U41(X1,X2)) >= a__U41(mark(X1),X2) ; mark(U42(X)) >= a__U42(mark(X)) ; mark(isNatIList(X)) >= a__isNatIList(X) ; mark(U51(X1,X2)) >= a__U51(mark(X1),X2) ; mark(U52(X)) >= a__U52(mark(X)) ; mark(isNatList(X)) >= a__isNatList(X) ; mark(U61(X1,X2)) >= a__U61(mark(X1),X2) ; mark(U62(X)) >= a__U62(mark(X)) ; mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) ; mark(U72(X1,X2)) >= a__U72(mark(X1),X2) ; mark(isNat(X)) >= a__isNat(X) ; mark(U81(X)) >= a__U81(mark(X)) ; mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) ; mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) ; mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) ; a__U81(tt) >= nil ; a__U81(X) >= U81(X) ; a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) ; a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) ; a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) ; a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) ; a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) ; a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) ; a__take(0,IL) >= a__U81(a__isNatIList(IL)) ; a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) ; a__take(X1,X2) >= take(X1,X2) ; Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL),IL,M,N) ; Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) ; Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) ; Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(U11(X)) >= Marked_mark(X) ; Marked_mark(U21(X)) >= Marked_mark(X) ; Marked_mark(U31(X)) >= Marked_mark(X) ; Marked_mark(U41(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U42(X)) >= Marked_mark(X) ; Marked_mark(U51(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U52(X)) >= Marked_mark(X) ; Marked_mark(U61(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U62(X)) >= Marked_mark(X) ; Marked_mark(U81(X)) >= Marked_mark(X) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) ; } + Disjunctions:{ { Marked_a__take(s(M),cons(N,IL)) > Marked_a__U91(a__isNatIList(IL),IL,M,N) ; } { Marked_a__U93(tt,IL,M,N) > Marked_mark(N) ; } { Marked_a__U92(tt,IL,M,N) > Marked_a__U93(a__isNat(N),IL,M,N) ; } { Marked_a__U91(tt,IL,M,N) > Marked_a__U92(a__isNat(M),IL,M,N) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(take(X1,X2)) > Marked_a__take(mark(X1),mark(X2)) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(U11(X)) > Marked_mark(X) ; } { Marked_mark(U21(X)) > Marked_mark(X) ; } { Marked_mark(U31(X)) > Marked_mark(X) ; } { Marked_mark(U41(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U42(X)) > Marked_mark(X) ; } { Marked_mark(U51(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U52(X)) > Marked_mark(X) ; } { Marked_mark(U61(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U62(X)) > Marked_mark(X) ; } { Marked_mark(U81(X)) > Marked_mark(X) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_a__U91(mark(X1),X2,X3,X4) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_a__U92(mark(X1),X2,X3,X4) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_a__U93(mark(X1),X2,X3,X4) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_mark(X1) ; } } === 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: a__zeros >= cons(0,zeros) constraint: a__zeros >= zeros constraint: a__U11(tt) >= tt constraint: a__U11(X) >= U11(X) constraint: a__U21(tt) >= tt constraint: a__U21(X) >= U21(X) constraint: a__U31(tt) >= tt constraint: a__U31(X) >= U31(X) constraint: a__U42(tt) >= tt constraint: a__U42(X) >= U42(X) constraint: a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) constraint: a__isNatIList(zeros) >= tt constraint: a__isNatIList(V) >= a__U31(a__isNatList(V)) constraint: a__isNatIList(X) >= isNatIList(X) constraint: a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) constraint: a__U41(X1,X2) >= U41(X1,X2) constraint: a__U52(tt) >= tt constraint: a__U52(X) >= U52(X) constraint: a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) constraint: a__isNatList(nil) >= tt constraint: a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) constraint: a__isNatList(X) >= isNatList(X) constraint: a__U51(tt,V2) >= a__U52(a__isNatList(V2)) constraint: a__U51(X1,X2) >= U51(X1,X2) constraint: a__U62(tt) >= tt constraint: a__U62(X) >= U62(X) constraint: a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) constraint: a__U61(X1,X2) >= U61(X1,X2) constraint: a__U72(tt,L) >= s(a__length(mark(L))) constraint: a__U72(X1,X2) >= U72(X1,X2) constraint: a__isNat(0) >= tt constraint: a__isNat(s(V1)) >= a__U21(a__isNat(V1)) constraint: a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) constraint: a__isNat(X) >= isNat(X) constraint: a__U71(tt,L,N) >= a__U72(a__isNat(N),L) constraint: a__U71(X1,X2,X3) >= U71(X1,X2,X3) constraint: a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) constraint: a__length(nil) >= 0 constraint: a__length(X) >= length(X) constraint: mark(cons(X1,X2)) >= cons(mark(X1),X2) constraint: mark(0) >= 0 constraint: mark(zeros) >= a__zeros constraint: mark(tt) >= tt constraint: mark(s(X)) >= s(mark(X)) constraint: mark(nil) >= nil constraint: mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) constraint: mark(length(X)) >= a__length(mark(X)) constraint: mark(U11(X)) >= a__U11(mark(X)) constraint: mark(U21(X)) >= a__U21(mark(X)) constraint: mark(U31(X)) >= a__U31(mark(X)) constraint: mark(U41(X1,X2)) >= a__U41(mark(X1),X2) constraint: mark(U42(X)) >= a__U42(mark(X)) constraint: mark(isNatIList(X)) >= a__isNatIList(X) constraint: mark(U51(X1,X2)) >= a__U51(mark(X1),X2) constraint: mark(U52(X)) >= a__U52(mark(X)) constraint: mark(isNatList(X)) >= a__isNatList(X) constraint: mark(U61(X1,X2)) >= a__U61(mark(X1),X2) constraint: mark(U62(X)) >= a__U62(mark(X)) constraint: mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) constraint: mark(U72(X1,X2)) >= a__U72(mark(X1),X2) constraint: mark(isNat(X)) >= a__isNat(X) constraint: mark(U81(X)) >= a__U81(mark(X)) constraint: mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) constraint: mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) constraint: mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) constraint: a__U81(tt) >= nil constraint: a__U81(X) >= U81(X) constraint: a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) constraint: a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) constraint: a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) constraint: a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) constraint: a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) constraint: a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) constraint: a__take(0,IL) >= a__U81(a__isNatIList(IL)) constraint: a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) constraint: a__take(X1,X2) >= take(X1,X2) constraint: Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL), IL,M,N) constraint: Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) constraint: Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) constraint: Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(U11(X)) >= Marked_mark(X) constraint: Marked_mark(U21(X)) >= Marked_mark(X) constraint: Marked_mark(U31(X)) >= Marked_mark(X) constraint: Marked_mark(U41(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U42(X)) >= Marked_mark(X) constraint: Marked_mark(U51(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U52(X)) >= Marked_mark(X) constraint: Marked_mark(U61(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U62(X)) >= Marked_mark(X) constraint: Marked_mark(U81(X)) >= Marked_mark(X) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) 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: { a__zeros >= cons(0,zeros) ; a__zeros >= zeros ; a__U11(tt) >= tt ; a__U11(X) >= U11(X) ; a__U21(tt) >= tt ; a__U21(X) >= U21(X) ; a__U31(tt) >= tt ; a__U31(X) >= U31(X) ; a__U42(tt) >= tt ; a__U42(X) >= U42(X) ; a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) ; a__isNatIList(zeros) >= tt ; a__isNatIList(V) >= a__U31(a__isNatList(V)) ; a__isNatIList(X) >= isNatIList(X) ; a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) ; a__U41(X1,X2) >= U41(X1,X2) ; a__U52(tt) >= tt ; a__U52(X) >= U52(X) ; a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) ; a__isNatList(nil) >= tt ; a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) ; a__isNatList(X) >= isNatList(X) ; a__U51(tt,V2) >= a__U52(a__isNatList(V2)) ; a__U51(X1,X2) >= U51(X1,X2) ; a__U62(tt) >= tt ; a__U62(X) >= U62(X) ; a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) ; a__U61(X1,X2) >= U61(X1,X2) ; a__U72(tt,L) >= s(a__length(mark(L))) ; a__U72(X1,X2) >= U72(X1,X2) ; a__isNat(0) >= tt ; a__isNat(s(V1)) >= a__U21(a__isNat(V1)) ; a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) ; a__isNat(X) >= isNat(X) ; a__U71(tt,L,N) >= a__U72(a__isNat(N),L) ; a__U71(X1,X2,X3) >= U71(X1,X2,X3) ; a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) ; a__length(nil) >= 0 ; a__length(X) >= length(X) ; mark(cons(X1,X2)) >= cons(mark(X1),X2) ; mark(0) >= 0 ; mark(zeros) >= a__zeros ; mark(tt) >= tt ; mark(s(X)) >= s(mark(X)) ; mark(nil) >= nil ; mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) ; mark(length(X)) >= a__length(mark(X)) ; mark(U11(X)) >= a__U11(mark(X)) ; mark(U21(X)) >= a__U21(mark(X)) ; mark(U31(X)) >= a__U31(mark(X)) ; mark(U41(X1,X2)) >= a__U41(mark(X1),X2) ; mark(U42(X)) >= a__U42(mark(X)) ; mark(isNatIList(X)) >= a__isNatIList(X) ; mark(U51(X1,X2)) >= a__U51(mark(X1),X2) ; mark(U52(X)) >= a__U52(mark(X)) ; mark(isNatList(X)) >= a__isNatList(X) ; mark(U61(X1,X2)) >= a__U61(mark(X1),X2) ; mark(U62(X)) >= a__U62(mark(X)) ; mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) ; mark(U72(X1,X2)) >= a__U72(mark(X1),X2) ; mark(isNat(X)) >= a__isNat(X) ; mark(U81(X)) >= a__U81(mark(X)) ; mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) ; mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) ; mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) ; a__U81(tt) >= nil ; a__U81(X) >= U81(X) ; a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) ; a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) ; a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) ; a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) ; a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) ; a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) ; a__take(0,IL) >= a__U81(a__isNatIList(IL)) ; a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) ; a__take(X1,X2) >= take(X1,X2) ; Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL),IL,M,N) ; Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) ; Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) ; Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(U11(X)) >= Marked_mark(X) ; Marked_mark(U21(X)) >= Marked_mark(X) ; Marked_mark(U31(X)) >= Marked_mark(X) ; Marked_mark(U41(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U42(X)) >= Marked_mark(X) ; Marked_mark(U51(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U52(X)) >= Marked_mark(X) ; Marked_mark(U61(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U62(X)) >= Marked_mark(X) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) ; Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) ; Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) ; Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) ; } + Disjunctions:{ { Marked_a__take(s(M),cons(N,IL)) > Marked_a__U91(a__isNatIList(IL),IL,M,N) ; } { Marked_a__U93(tt,IL,M,N) > Marked_mark(N) ; } { Marked_a__U92(tt,IL,M,N) > Marked_a__U93(a__isNat(N),IL,M,N) ; } { Marked_a__U91(tt,IL,M,N) > Marked_a__U92(a__isNat(M),IL,M,N) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(take(X1,X2)) > Marked_a__take(mark(X1),mark(X2)) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(U11(X)) > Marked_mark(X) ; } { Marked_mark(U21(X)) > Marked_mark(X) ; } { Marked_mark(U31(X)) > Marked_mark(X) ; } { Marked_mark(U41(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U42(X)) > Marked_mark(X) ; } { Marked_mark(U51(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U52(X)) > Marked_mark(X) ; } { Marked_mark(U61(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U62(X)) > Marked_mark(X) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_a__U91(mark(X1),X2,X3,X4) ; } { Marked_mark(U91(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_a__U92(mark(X1),X2,X3,X4) ; } { Marked_mark(U92(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_a__U93(mark(X1),X2,X3,X4) ; } { Marked_mark(U93(X1,X2,X3,X4)) > Marked_mark(X1) ; } } === 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: a__zeros >= cons(0,zeros) constraint: a__zeros >= zeros constraint: a__U11(tt) >= tt constraint: a__U11(X) >= U11(X) constraint: a__U21(tt) >= tt constraint: a__U21(X) >= U21(X) constraint: a__U31(tt) >= tt constraint: a__U31(X) >= U31(X) constraint: a__U42(tt) >= tt constraint: a__U42(X) >= U42(X) constraint: a__isNatIList(cons(V1,V2)) >= a__U41(a__isNat(V1),V2) constraint: a__isNatIList(zeros) >= tt constraint: a__isNatIList(V) >= a__U31(a__isNatList(V)) constraint: a__isNatIList(X) >= isNatIList(X) constraint: a__U41(tt,V2) >= a__U42(a__isNatIList(V2)) constraint: a__U41(X1,X2) >= U41(X1,X2) constraint: a__U52(tt) >= tt constraint: a__U52(X) >= U52(X) constraint: a__isNatList(cons(V1,V2)) >= a__U51(a__isNat(V1),V2) constraint: a__isNatList(nil) >= tt constraint: a__isNatList(take(V1,V2)) >= a__U61(a__isNat(V1),V2) constraint: a__isNatList(X) >= isNatList(X) constraint: a__U51(tt,V2) >= a__U52(a__isNatList(V2)) constraint: a__U51(X1,X2) >= U51(X1,X2) constraint: a__U62(tt) >= tt constraint: a__U62(X) >= U62(X) constraint: a__U61(tt,V2) >= a__U62(a__isNatIList(V2)) constraint: a__U61(X1,X2) >= U61(X1,X2) constraint: a__U72(tt,L) >= s(a__length(mark(L))) constraint: a__U72(X1,X2) >= U72(X1,X2) constraint: a__isNat(0) >= tt constraint: a__isNat(s(V1)) >= a__U21(a__isNat(V1)) constraint: a__isNat(length(V1)) >= a__U11(a__isNatList(V1)) constraint: a__isNat(X) >= isNat(X) constraint: a__U71(tt,L,N) >= a__U72(a__isNat(N),L) constraint: a__U71(X1,X2,X3) >= U71(X1,X2,X3) constraint: a__length(cons(N,L)) >= a__U71(a__isNatList(L),L,N) constraint: a__length(nil) >= 0 constraint: a__length(X) >= length(X) constraint: mark(cons(X1,X2)) >= cons(mark(X1),X2) constraint: mark(0) >= 0 constraint: mark(zeros) >= a__zeros constraint: mark(tt) >= tt constraint: mark(s(X)) >= s(mark(X)) constraint: mark(nil) >= nil constraint: mark(take(X1,X2)) >= a__take(mark(X1),mark(X2)) constraint: mark(length(X)) >= a__length(mark(X)) constraint: mark(U11(X)) >= a__U11(mark(X)) constraint: mark(U21(X)) >= a__U21(mark(X)) constraint: mark(U31(X)) >= a__U31(mark(X)) constraint: mark(U41(X1,X2)) >= a__U41(mark(X1),X2) constraint: mark(U42(X)) >= a__U42(mark(X)) constraint: mark(isNatIList(X)) >= a__isNatIList(X) constraint: mark(U51(X1,X2)) >= a__U51(mark(X1),X2) constraint: mark(U52(X)) >= a__U52(mark(X)) constraint: mark(isNatList(X)) >= a__isNatList(X) constraint: mark(U61(X1,X2)) >= a__U61(mark(X1),X2) constraint: mark(U62(X)) >= a__U62(mark(X)) constraint: mark(U71(X1,X2,X3)) >= a__U71(mark(X1),X2,X3) constraint: mark(U72(X1,X2)) >= a__U72(mark(X1),X2) constraint: mark(isNat(X)) >= a__isNat(X) constraint: mark(U81(X)) >= a__U81(mark(X)) constraint: mark(U91(X1,X2,X3,X4)) >= a__U91(mark(X1),X2,X3,X4) constraint: mark(U92(X1,X2,X3,X4)) >= a__U92(mark(X1),X2,X3,X4) constraint: mark(U93(X1,X2,X3,X4)) >= a__U93(mark(X1),X2,X3,X4) constraint: a__U81(tt) >= nil constraint: a__U81(X) >= U81(X) constraint: a__U92(tt,IL,M,N) >= a__U93(a__isNat(N),IL,M,N) constraint: a__U92(X1,X2,X3,X4) >= U92(X1,X2,X3,X4) constraint: a__U91(tt,IL,M,N) >= a__U92(a__isNat(M),IL,M,N) constraint: a__U91(X1,X2,X3,X4) >= U91(X1,X2,X3,X4) constraint: a__U93(tt,IL,M,N) >= cons(mark(N),take(M,IL)) constraint: a__U93(X1,X2,X3,X4) >= U93(X1,X2,X3,X4) constraint: a__take(0,IL) >= a__U81(a__isNatIList(IL)) constraint: a__take(s(M),cons(N,IL)) >= a__U91(a__isNatIList(IL),IL,M,N) constraint: a__take(X1,X2) >= take(X1,X2) constraint: Marked_a__take(s(M),cons(N,IL)) >= Marked_a__U91(a__isNatIList(IL), IL,M,N) constraint: Marked_a__U93(tt,IL,M,N) >= Marked_mark(N) constraint: Marked_a__U92(tt,IL,M,N) >= Marked_a__U93(a__isNat(N),IL,M,N) constraint: Marked_a__U91(tt,IL,M,N) >= Marked_a__U92(a__isNat(M),IL,M,N) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(take(X1,X2)) >= Marked_a__take(mark(X1),mark(X2)) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(U11(X)) >= Marked_mark(X) constraint: Marked_mark(U21(X)) >= Marked_mark(X) constraint: Marked_mark(U31(X)) >= Marked_mark(X) constraint: Marked_mark(U41(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U42(X)) >= Marked_mark(X) constraint: Marked_mark(U51(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U52(X)) >= Marked_mark(X) constraint: Marked_mark(U61(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U62(X)) >= Marked_mark(X) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_a__U91(mark(X1),X2,X3,X4) constraint: Marked_mark(U91(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_a__U92(mark(X1),X2,X3,X4) constraint: Marked_mark(U92(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_a__U93(mark(X1),X2,X3,X4) constraint: Marked_mark(U93(X1,X2,X3,X4)) >= Marked_mark(X1) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) ST: Marked_mark -> 1 APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] a__zeros -> cons(0,zeros) [2] a__U11(tt) -> tt [3] a__U21(tt) -> tt [4] a__U31(tt) -> tt [5] a__U41(tt,V2) -> a__U42(a__isNatIList(V2)) [6] a__U42(tt) -> tt [7] a__U51(tt,V2) -> a__U52(a__isNatList(V2)) [8] a__U52(tt) -> tt [9] a__U61(tt,V2) -> a__U62(a__isNatIList(V2)) [10] a__U62(tt) -> tt [11] a__U71(tt,L,N) -> a__U72(a__isNat(N),L) [12] a__U72(tt,L) -> s(a__length(mark(L))) [13] a__U81(tt) -> nil [14] a__U91(tt,IL,M,N) -> a__U92(a__isNat(M),IL,M,N) [15] a__U92(tt,IL,M,N) -> a__U93(a__isNat(N),IL,M,N) [16] a__U93(tt,IL,M,N) -> cons(mark(N),take(M,IL)) [17] a__isNat(0) -> tt [18] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [19] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [20] a__isNatIList(V) -> a__U31(a__isNatList(V)) [21] a__isNatIList(zeros) -> tt [22] a__isNatIList(cons(V1,V2)) -> a__U41(a__isNat(V1),V2) [23] a__isNatList(nil) -> tt [24] a__isNatList(cons(V1,V2)) -> a__U51(a__isNat(V1),V2) [25] a__isNatList(take(V1,V2)) -> a__U61(a__isNat(V1),V2) [26] a__length(nil) -> 0 [27] a__length(cons(N,L)) -> a__U71(a__isNatList(L),L,N) [28] a__take(0,IL) -> a__U81(a__isNatIList(IL)) [29] a__take(s(M),cons(N,IL)) -> a__U91(a__isNatIList(IL),IL,M,N) [30] mark(zeros) -> a__zeros [31] mark(U11(X)) -> a__U11(mark(X)) [32] mark(U21(X)) -> a__U21(mark(X)) [33] mark(U31(X)) -> a__U31(mark(X)) [34] mark(U41(X1,X2)) -> a__U41(mark(X1),X2) [35] mark(U42(X)) -> a__U42(mark(X)) [36] mark(isNatIList(X)) -> a__isNatIList(X) [37] mark(U51(X1,X2)) -> a__U51(mark(X1),X2) [38] mark(U52(X)) -> a__U52(mark(X)) [39] mark(isNatList(X)) -> a__isNatList(X) [40] mark(U61(X1,X2)) -> a__U61(mark(X1),X2) [41] mark(U62(X)) -> a__U62(mark(X)) [42] mark(U71(X1,X2,X3)) -> a__U71(mark(X1),X2,X3) [43] mark(U72(X1,X2)) -> a__U72(mark(X1),X2) [44] mark(isNat(X)) -> a__isNat(X) [45] mark(length(X)) -> a__length(mark(X)) [46] mark(U81(X)) -> a__U81(mark(X)) [47] mark(U91(X1,X2,X3,X4)) -> a__U91(mark(X1),X2,X3,X4) [48] mark(U92(X1,X2,X3,X4)) -> a__U92(mark(X1),X2,X3,X4) [49] mark(U93(X1,X2,X3,X4)) -> a__U93(mark(X1),X2,X3,X4) [50] mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) [51] mark(cons(X1,X2)) -> cons(mark(X1),X2) [52] mark(0) -> 0 [53] mark(tt) -> tt [54] mark(s(X)) -> s(mark(X)) [55] mark(nil) -> nil [56] a__zeros -> zeros [57] a__U11(X) -> U11(X) [58] a__U21(X) -> U21(X) [59] a__U31(X) -> U31(X) [60] a__U41(X1,X2) -> U41(X1,X2) [61] a__U42(X) -> U42(X) [62] a__isNatIList(X) -> isNatIList(X) [63] a__U51(X1,X2) -> U51(X1,X2) [64] a__U52(X) -> U52(X) [65] a__isNatList(X) -> isNatList(X) [66] a__U61(X1,X2) -> U61(X1,X2) [67] a__U62(X) -> U62(X) [68] a__U71(X1,X2,X3) -> U71(X1,X2,X3) [69] a__U72(X1,X2) -> U72(X1,X2) [70] a__isNat(X) -> isNat(X) [71] a__length(X) -> length(X) [72] a__U81(X) -> U81(X) [73] a__U91(X1,X2,X3,X4) -> U91(X1,X2,X3,X4) [74] a__U92(X1,X2,X3,X4) -> U92(X1,X2,X3,X4) [75] a__U93(X1,X2,X3,X4) -> U93(X1,X2,X3,X4) [76] a__take(X1,X2) -> take(X1,X2) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ cons ] (X0,X1) = 1*X1 + 2*X0; [ U31 ] (X0) = 2*X0; [ a__U72 ] (X0,X1) = 1*X1 + 1*X0 + 2; [ Marked_a__take ] (X0,X1) = 2*X1; [ a__U42 ] (X0) = 1*X0; [ U62 ] (X0) = 2*X0; [ a__U92 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 2*X0; [ Marked_a__U71 ] (X0,X1,X2) = 2*X1; [ tt ] () = 0; [ U51 ] (X0,X1) = 2*X0; [ a__length ] (X0) = 1*X0 + 2; [ a__isNatList ] (X0) = 0; [ U81 ] (X0) = 2*X0; [ length ] (X0) = 1*X0 + 2; [ zeros ] () = 0; [ U42 ] (X0) = 1*X0; [ a__U71 ] (X0,X1,X2) = 1*X1 + 2*X0 + 2; [ Marked_a__U92 ] (X0,X1,X2,X3) = 2*X3; [ a__U41 ] (X0,X1) = 1*X0; [ U72 ] (X0,X1) = 1*X1 + 1*X0 + 2; [ a__U93 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 1*X0; [ a__U21 ] (X0) = 2*X0; [ isNatList ] (X0) = 0; [ nil ] () = 0; [ a__U62 ] (X0) = 2*X0; [ U92 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 2*X0; [ U11 ] (X0) = 2*X0; [ 0 ] () = 0; [ U41 ] (X0,X1) = 1*X0; [ a__isNat ] (X0) = 0; [ Marked_a__U93 ] (X0,X1,X2,X3) = 2*X3; [ a__isNatIList ] (X0) = 0; [ U71 ] (X0,X1,X2) = 1*X1 + 2*X0 + 2; [ a__U91 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 2*X0; [ a__U11 ] (X0) = 2*X0; [ Marked_mark ] (X0) = 2*X0; [ U52 ] (X0) = 1*X0; [ mark ] (X0) = 1*X0; [ Marked_a__length ] (X0) = 2*X0; [ a__U51 ] (X0,X1) = 2*X0; [ U91 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 2*X0; [ a__take ] (X0,X1) = 1*X1 + 1*X0; [ a__zeros ] () = 0; [ isNatIList ] (X0) = 0; [ s ] (X0) = 1*X0; [ Marked_a__U91 ] (X0,X1,X2,X3) = 2*X3; [ a__U52 ] (X0) = 1*X0; [ isNat ] (X0) = 0; [ take ] (X0,X1) = 1*X1 + 1*X0; [ a__U31 ] (X0) = 2*X0; [ U61 ] (X0,X1) = 1*X0; [ a__U81 ] (X0) = 2*X0; [ Marked_a__U72 ] (X0,X1) = 2*X1; [ a__U61 ] (X0,X1) = 1*X0; [ U93 ] (X0,X1,X2,X3) = 2*X3 + 1*X2 + 1*X1 + 1*X0; [ U21 ] (X0) = 2*X0; removing < Marked_mark(U71(X1,X2,X3)),Marked_mark(X1)>< Marked_mark(U72(X1,X2)),Marked_mark(X1)>< Marked_mark(length(X)),Marked_mark(X)> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ cons ] (X0,X1) = 2*X1; [ U31 ] (X0) = 2; [ a__U72 ] (X0,X1) = 2*X1; [ a__U42 ] (X0) = 1*X0; [ U62 ] (X0) = 1*X0; [ a__U92 ] (X0,X1,X2,X3) = 2*X2; [ Marked_a__U71 ] (X0,X1,X2) = 2*X1 + 2*X0; [ tt ] () = 2; [ U51 ] (X0,X1) = 2*X1; [ a__length ] (X0) = 1*X0; [ a__isNatList ] (X0) = 1*X0; [ U81 ] (X0) = 1*X0; [ length ] (X0) = 1*X0; [ zeros ] () = 0; [ U42 ] (X0) = 1*X0; [ a__U71 ] (X0,X1,X2) = 2*X1; [ a__U41 ] (X0,X1) = 2; [ U72 ] (X0,X1) = 2*X1; [ a__U93 ] (X0,X1,X2,X3) = 2*X2; [ a__U21 ] (X0) = 1*X0; [ isNatList ] (X0) = 1*X0; [ nil ] () = 2; [ a__U62 ] (X0) = 1*X0; [ U92 ] (X0,X1,X2,X3) = 2*X2; [ U11 ] (X0) = 1*X0; [ 0 ] () = 2; [ U41 ] (X0,X1) = 2; [ a__isNat ] (X0) = 1*X0; [ a__isNatIList ] (X0) = 2; [ U71 ] (X0,X1,X2) = 2*X1; [ a__U91 ] (X0,X1,X2,X3) = 2*X2; [ a__U11 ] (X0) = 1*X0; [ U52 ] (X0) = 2*X0; [ mark ] (X0) = 1*X0; [ Marked_a__length ] (X0) = 2*X0; [ a__U51 ] (X0,X1) = 2*X1; [ U91 ] (X0,X1,X2,X3) = 2*X2; [ a__take ] (X0,X1) = 1*X0; [ a__zeros ] () = 0; [ isNatIList ] (X0) = 2; [ s ] (X0) = 2*X0; [ a__U52 ] (X0) = 2*X0; [ isNat ] (X0) = 1*X0; [ take ] (X0,X1) = 1*X0; [ a__U31 ] (X0) = 2; [ U61 ] (X0,X1) = 1*X0; [ a__U81 ] (X0) = 1*X0; [ Marked_a__U72 ] (X0,X1) = 2*X1 + 1; [ a__U61 ] (X0,X1) = 1*X0; [ U93 ] (X0,X1,X2,X3) = 2*X2; [ U21 ] (X0) = 1*X0; removing [ { DP termination of: , CRITERION: SG [ ]} ]} { DP termination of: , CRITERION: CG using polynomial interpretation = [ cons ] (X0,X1) = 1*X0; [ U31 ] (X0) = 2*X0; [ a__U72 ] (X0,X1) = 1; [ Marked_a__take ] (X0,X1) = 2*X1; [ a__U42 ] (X0) = 2*X0; [ U62 ] (X0) = 2*X0; [ a__U92 ] (X0,X1,X2,X3) = 2*X3 + 1*X0; [ tt ] () = 0; [ U51 ] (X0,X1) = 1*X0; [ a__length ] (X0) = 1; [ a__isNatList ] (X0) = 0; [ U81 ] (X0) = 1*X0 + 2; [ length ] (X0) = 1; [ zeros ] () = 1; [ U42 ] (X0) = 2*X0; [ a__U71 ] (X0,X1,X2) = 1; [ Marked_a__U92 ] (X0,X1,X2,X3) = 2*X3; [ a__U41 ] (X0,X1) = 1*X0; [ U72 ] (X0,X1) = 1; [ a__U93 ] (X0,X1,X2,X3) = 2*X3 + 2*X0; [ a__U21 ] (X0) = 1*X0; [ isNatList ] (X0) = 0; [ nil ] () = 0; [ a__U62 ] (X0) = 2*X0; [ U92 ] (X0,X1,X2,X3) = 2*X3 + 1*X0; [ U11 ] (X0) = 1*X0; [ 0 ] () = 1; [ U41 ] (X0,X1) = 1*X0; [ a__isNat ] (X0) = 0; [ Marked_a__U93 ] (X0,X1,X2,X3) = 2*X3; [ a__isNatIList ] (X0) = 0; [ U71 ] (X0,X1,X2) = 1; [ a__U91 ] (X0,X1,X2,X3) = 2*X3 + 1*X0; [ a__U11 ] (X0) = 1*X0; [ Marked_mark ] (X0) = 2*X0; [ U52 ] (X0) = 2*X0; [ mark ] (X0) = 2*X0; [ a__U51 ] (X0,X1) = 1*X0; [ U91 ] (X0,X1,X2,X3) = 2*X3 + 1*X0; [ a__take ] (X0,X1) = 2*X1 + 2*X0; [ a__zeros ] () = 1; [ isNatIList ] (X0) = 0; [ s ] (X0) = 1*X0; [ Marked_a__U91 ] (X0,X1,X2,X3) = 2*X3; [ a__U52 ] (X0) = 2*X0; [ isNat ] (X0) = 0; [ take ] (X0,X1) = 2*X1 + 2*X0; [ a__U31 ] (X0) = 2*X0; [ U61 ] (X0,X1) = 1*X0; [ a__U81 ] (X0) = 1*X0 + 2; [ a__U61 ] (X0,X1) = 1*X0; [ U93 ] (X0,X1,X2,X3) = 2*X3 + 2*X0; [ U21 ] (X0) = 1*X0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ cons ] (X0,X1) = 1*X0; [ U31 ] (X0) = 1*X0; [ a__U72 ] (X0,X1) = 0; [ Marked_a__take ] (X0,X1) = 3*X1 + 3; [ a__U42 ] (X0) = 1*X0; [ U62 ] (X0) = 1*X0; [ a__U92 ] (X0,X1,X2,X3) = 1*X3 + 1*X0 + 3; [ tt ] () = 0; [ U51 ] (X0,X1) = 1*X0; [ a__length ] (X0) = 0; [ a__isNatList ] (X0) = 0; [ U81 ] (X0) = 0; [ length ] (X0) = 0; [ zeros ] () = 0; [ U42 ] (X0) = 1*X0; [ a__U71 ] (X0,X1,X2) = 0; [ Marked_a__U92 ] (X0,X1,X2,X3) = 3*X3 + 3; [ a__U41 ] (X0,X1) = 1*X0; [ U72 ] (X0,X1) = 0; [ a__U93 ] (X0,X1,X2,X3) = 1*X3 + 2*X0 + 2; [ a__U21 ] (X0) = 1*X0; [ isNatList ] (X0) = 0; [ nil ] () = 0; [ a__U62 ] (X0) = 1*X0; [ U92 ] (X0,X1,X2,X3) = 1*X3 + 1*X0 + 3; [ U11 ] (X0) = 1*X0; [ 0 ] () = 0; [ U41 ] (X0,X1) = 1*X0; [ a__isNat ] (X0) = 0; [ Marked_a__U93 ] (X0,X1,X2,X3) = 3*X3 + 2; [ a__isNatIList ] (X0) = 0; [ U71 ] (X0,X1,X2) = 0; [ a__U91 ] (X0,X1,X2,X3) = 1*X3 + 2*X0 + 3; [ a__U11 ] (X0) = 1*X0; [ Marked_mark ] (X0) = 3*X0 + 2; [ U52 ] (X0) = 1*X0; [ mark ] (X0) = 1*X0; [ a__U51 ] (X0,X1) = 1*X0; [ U91 ] (X0,X1,X2,X3) = 1*X3 + 2*X0 + 3; [ a__take ] (X0,X1) = 1*X1 + 2*X0 + 3; [ a__zeros ] () = 0; [ isNatIList ] (X0) = 0; [ s ] (X0) = 2*X0; [ Marked_a__U91 ] (X0,X1,X2,X3) = 3*X3 + 3; [ a__U52 ] (X0) = 1*X0; [ isNat ] (X0) = 0; [ take ] (X0,X1) = 1*X1 + 2*X0 + 3; [ a__U31 ] (X0) = 1*X0; [ U61 ] (X0,X1) = 1*X0; [ a__U81 ] (X0) = 0; [ a__U61 ] (X0,X1) = 1*X0; [ U93 ] (X0,X1,X2,X3) = 1*X3 + 2*X0 + 2; [ U21 ] (X0) = 1*X0; removing < Marked_mark(U91(X1,X2,X3,X4)),Marked_a__U91(mark(X1),X2,X3,X4)>< Marked_mark(U92(X1,X2,X3,X4)),Marked_mark(X1)>< Marked_mark(take(X1,X2)),Marked_a__take(mark(X1),mark(X2))>< Marked_mark(take(X1,X2)),Marked_mark(X2)> [ { 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 [ ]} ]} ]} ]} Cime worked for 1.319529 seconds (real time) Cime Exit Status: 0