- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) [2] a____(X,nil) -> mark(X) [3] a____(nil,X) -> mark(X) [4] a__and(tt,X) -> mark(X) [5] a__isList(V) -> a__isNeList(V) [6] a__isList(nil) -> tt [7] a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) [8] a__isNeList(V) -> a__isQid(V) [9] a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) [10] a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) [11] a__isNePal(V) -> a__isQid(V) [12] a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) [13] a__isPal(V) -> a__isNePal(V) [14] a__isPal(nil) -> tt [15] a__isQid(a) -> tt [16] a__isQid(e) -> tt [17] a__isQid(i) -> tt [18] a__isQid(o) -> tt [19] a__isQid(u) -> tt [20] mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) [21] mark(and(X1,X2)) -> a__and(mark(X1),X2) [22] mark(isList(X)) -> a__isList(X) [23] mark(isNeList(X)) -> a__isNeList(X) [24] mark(isQid(X)) -> a__isQid(X) [25] mark(isNePal(X)) -> a__isNePal(X) [26] mark(isPal(X)) -> a__isPal(X) [27] mark(nil) -> nil [28] mark(tt) -> tt [29] mark(a) -> a [30] mark(e) -> e [31] mark(i) -> i [32] mark(o) -> o [33] mark(u) -> u [34] a____(X1,X2) -> __(X1,X2) [35] a__and(X1,X2) -> and(X1,X2) [36] a__isList(X) -> isList(X) [37] a__isNeList(X) -> isNeList(X) [38] a__isQid(X) -> isQid(X) [39] a__isNePal(X) -> isNePal(X) [40] a__isPal(X) -> isPal(X) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) ; a____(nil,X) >= mark(X) ; a____(X,nil) >= mark(X) ; a____(X1,X2) >= __(X1,X2) ; mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) ; mark(nil) >= nil ; mark(tt) >= tt ; mark(isList(X)) >= a__isList(X) ; mark(isNeList(X)) >= a__isNeList(X) ; mark(isPal(X)) >= a__isPal(X) ; mark(a) >= a ; mark(e) >= e ; mark(i) >= i ; mark(o) >= o ; mark(u) >= u ; mark(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isQid(X)) >= a__isQid(X) ; mark(isNePal(X)) >= a__isNePal(X) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) ; a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) ; a__isNeList(X) >= isNeList(X) ; a__isNeList(V) >= a__isQid(V) ; a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) ; a__isList(nil) >= tt ; a__isList(X) >= isList(X) ; a__isList(V) >= a__isNeList(V) ; a__isQid(a) >= tt ; a__isQid(e) >= tt ; a__isQid(i) >= tt ; a__isQid(o) >= tt ; a__isQid(u) >= tt ; a__isQid(X) >= isQid(X) ; a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) ; a__isNePal(X) >= isNePal(X) ; a__isNePal(V) >= a__isQid(V) ; a__isPal(nil) >= tt ; a__isPal(X) >= isPal(X) ; a__isPal(V) >= a__isNePal(V) ; Marked_a__isPal(V) >= Marked_a__isNePal(V) ; Marked_a__isNePal(__(I,__(P,I))) >= Marked_a__and(a__isQid(I),isPal(P)) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__isNeList(V1) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__isList(V1) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__and(a__isNeList(V1),isList(V2)) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__and(a__isList(V1),isNeList(V2)) ; Marked_a__isList(__(V1,V2)) >= Marked_a__isList(V1) ; Marked_a__isList(__(V1,V2)) >= Marked_a__and(a__isList(V1),isList(V2)) ; Marked_a__isList(V) >= Marked_a__isNeList(V) ; Marked_a__and(tt,X) >= Marked_mark(X) ; Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; Marked_a____(__(X,Y),Z) >= Marked_a____(mark(Y),mark(Z)) ; Marked_a____(__(X,Y),Z) >= Marked_mark(X) ; Marked_a____(__(X,Y),Z) >= Marked_mark(Y) ; Marked_a____(__(X,Y),Z) >= Marked_mark(Z) ; Marked_a____(nil,X) >= Marked_mark(X) ; Marked_a____(X,nil) >= Marked_mark(X) ; Marked_mark(__(X1,X2)) >= Marked_a____(mark(X1),mark(X2)) ; Marked_mark(__(X1,X2)) >= Marked_mark(X1) ; Marked_mark(__(X1,X2)) >= Marked_mark(X2) ; Marked_mark(isList(X)) >= Marked_a__isList(X) ; Marked_mark(isNeList(X)) >= Marked_a__isNeList(X) ; Marked_mark(isPal(X)) >= Marked_a__isPal(X) ; Marked_mark(and(X1,X2)) >= Marked_a__and(mark(X1),X2) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(isNePal(X)) >= Marked_a__isNePal(X) ; } + Disjunctions:{ { Marked_a__isPal(V) > Marked_a__isNePal(V) ; } { Marked_a__isNePal(__(I,__(P,I))) > Marked_a__and(a__isQid(I),isPal(P)) ; } { Marked_a__isNeList(__(V1,V2)) > Marked_a__isNeList(V1) ; } { Marked_a__isNeList(__(V1,V2)) > Marked_a__isList(V1) ; } { Marked_a__isNeList(__(V1,V2)) > Marked_a__and(a__isNeList(V1),isList(V2)) ; } { Marked_a__isNeList(__(V1,V2)) > Marked_a__and(a__isList(V1),isNeList(V2)) ; } { Marked_a__isList(__(V1,V2)) > Marked_a__isList(V1) ; } { Marked_a__isList(__(V1,V2)) > Marked_a__and(a__isList(V1),isList(V2)) ; } { Marked_a__isList(V) > Marked_a__isNeList(V) ; } { Marked_a__and(tt,X) > Marked_mark(X) ; } { Marked_a____(__(X,Y),Z) > Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; } { Marked_a____(__(X,Y),Z) > Marked_a____(mark(Y),mark(Z)) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(X) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(Y) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(Z) ; } { Marked_a____(nil,X) > Marked_mark(X) ; } { Marked_a____(X,nil) > Marked_mark(X) ; } { Marked_mark(__(X1,X2)) > Marked_a____(mark(X1),mark(X2)) ; } { Marked_mark(__(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(__(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(isList(X)) > Marked_a__isList(X) ; } { Marked_mark(isNeList(X)) > Marked_a__isNeList(X) ; } { Marked_mark(isPal(X)) > Marked_a__isPal(X) ; } { Marked_mark(and(X1,X2)) > Marked_a__and(mark(X1),X2) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(isNePal(X)) > Marked_a__isNePal(X) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) constraint: a____(nil,X) >= mark(X) constraint: a____(X,nil) >= mark(X) constraint: a____(X1,X2) >= __(X1,X2) constraint: mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) constraint: mark(nil) >= nil constraint: mark(tt) >= tt constraint: mark(isList(X)) >= a__isList(X) constraint: mark(isNeList(X)) >= a__isNeList(X) constraint: mark(isPal(X)) >= a__isPal(X) constraint: mark(a) >= a constraint: mark(e) >= e constraint: mark(i) >= i constraint: mark(o) >= o constraint: mark(u) >= u constraint: mark(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isQid(X)) >= a__isQid(X) constraint: mark(isNePal(X)) >= a__isNePal(X) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) constraint: a__isNeList(X) >= isNeList(X) constraint: a__isNeList(V) >= a__isQid(V) constraint: a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) constraint: a__isList(nil) >= tt constraint: a__isList(X) >= isList(X) constraint: a__isList(V) >= a__isNeList(V) constraint: a__isQid(a) >= tt constraint: a__isQid(e) >= tt constraint: a__isQid(i) >= tt constraint: a__isQid(o) >= tt constraint: a__isQid(u) >= tt constraint: a__isQid(X) >= isQid(X) constraint: a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) constraint: a__isNePal(X) >= isNePal(X) constraint: a__isNePal(V) >= a__isQid(V) constraint: a__isPal(nil) >= tt constraint: a__isPal(X) >= isPal(X) constraint: a__isPal(V) >= a__isNePal(V) constraint: Marked_a__isPal(V) >= Marked_a__isNePal(V) constraint: Marked_a__isNePal(__(I,__(P,I))) >= Marked_a__and(a__isQid(I), isPal(P)) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__isNeList(V1) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__isList(V1) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__and(a__isNeList(V1), isList(V2)) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__and(a__isList(V1), isNeList(V2)) constraint: Marked_a__isList(__(V1,V2)) >= Marked_a__isList(V1) constraint: Marked_a__isList(__(V1,V2)) >= Marked_a__and(a__isList(V1), isList(V2)) constraint: Marked_a__isList(V) >= Marked_a__isNeList(V) constraint: Marked_a__and(tt,X) >= Marked_mark(X) constraint: Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X), a____(mark(Y),mark(Z))) constraint: Marked_a____(__(X,Y),Z) >= Marked_a____(mark(Y),mark(Z)) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(X) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(Y) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(Z) constraint: Marked_a____(nil,X) >= Marked_mark(X) constraint: Marked_a____(X,nil) >= Marked_mark(X) constraint: Marked_mark(__(X1,X2)) >= Marked_a____(mark(X1),mark(X2)) constraint: Marked_mark(__(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(__(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(isList(X)) >= Marked_a__isList(X) constraint: Marked_mark(isNeList(X)) >= Marked_a__isNeList(X) constraint: Marked_mark(isPal(X)) >= Marked_a__isPal(X) constraint: Marked_mark(and(X1,X2)) >= Marked_a__and(mark(X1),X2) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(isNePal(X)) >= Marked_a__isNePal(X) APPLY CRITERIA (Graph splitting) Found 2 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) ; a____(nil,X) >= mark(X) ; a____(X,nil) >= mark(X) ; a____(X1,X2) >= __(X1,X2) ; mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) ; mark(nil) >= nil ; mark(tt) >= tt ; mark(isList(X)) >= a__isList(X) ; mark(isNeList(X)) >= a__isNeList(X) ; mark(isPal(X)) >= a__isPal(X) ; mark(a) >= a ; mark(e) >= e ; mark(i) >= i ; mark(o) >= o ; mark(u) >= u ; mark(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isQid(X)) >= a__isQid(X) ; mark(isNePal(X)) >= a__isNePal(X) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) ; a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) ; a__isNeList(X) >= isNeList(X) ; a__isNeList(V) >= a__isQid(V) ; a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) ; a__isList(nil) >= tt ; a__isList(X) >= isList(X) ; a__isList(V) >= a__isNeList(V) ; a__isQid(a) >= tt ; a__isQid(e) >= tt ; a__isQid(i) >= tt ; a__isQid(o) >= tt ; a__isQid(u) >= tt ; a__isQid(X) >= isQid(X) ; a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) ; a__isNePal(X) >= isNePal(X) ; a__isNePal(V) >= a__isQid(V) ; a__isPal(nil) >= tt ; a__isPal(X) >= isPal(X) ; a__isPal(V) >= a__isNePal(V) ; Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; Marked_a____(__(X,Y),Z) >= Marked_a____(mark(Y),mark(Z)) ; Marked_a____(__(X,Y),Z) >= Marked_mark(X) ; Marked_a____(__(X,Y),Z) >= Marked_mark(Y) ; Marked_a____(__(X,Y),Z) >= Marked_mark(Z) ; Marked_mark(__(X1,X2)) >= Marked_a____(mark(X1),mark(X2)) ; Marked_mark(__(X1,X2)) >= Marked_mark(X1) ; Marked_mark(__(X1,X2)) >= Marked_mark(X2) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; } + Disjunctions:{ { Marked_a____(__(X,Y),Z) > Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; } { Marked_a____(__(X,Y),Z) > Marked_a____(mark(Y),mark(Z)) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(X) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(Y) ; } { Marked_a____(__(X,Y),Z) > Marked_mark(Z) ; } { Marked_mark(__(X1,X2)) > Marked_a____(mark(X1),mark(X2)) ; } { Marked_mark(__(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(__(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(and(X1,X2)) > 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____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) constraint: a____(nil,X) >= mark(X) constraint: a____(X,nil) >= mark(X) constraint: a____(X1,X2) >= __(X1,X2) constraint: mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) constraint: mark(nil) >= nil constraint: mark(tt) >= tt constraint: mark(isList(X)) >= a__isList(X) constraint: mark(isNeList(X)) >= a__isNeList(X) constraint: mark(isPal(X)) >= a__isPal(X) constraint: mark(a) >= a constraint: mark(e) >= e constraint: mark(i) >= i constraint: mark(o) >= o constraint: mark(u) >= u constraint: mark(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isQid(X)) >= a__isQid(X) constraint: mark(isNePal(X)) >= a__isNePal(X) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) constraint: a__isNeList(X) >= isNeList(X) constraint: a__isNeList(V) >= a__isQid(V) constraint: a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) constraint: a__isList(nil) >= tt constraint: a__isList(X) >= isList(X) constraint: a__isList(V) >= a__isNeList(V) constraint: a__isQid(a) >= tt constraint: a__isQid(e) >= tt constraint: a__isQid(i) >= tt constraint: a__isQid(o) >= tt constraint: a__isQid(u) >= tt constraint: a__isQid(X) >= isQid(X) constraint: a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) constraint: a__isNePal(X) >= isNePal(X) constraint: a__isNePal(V) >= a__isQid(V) constraint: a__isPal(nil) >= tt constraint: a__isPal(X) >= isPal(X) constraint: a__isPal(V) >= a__isNePal(V) constraint: Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X), a____(mark(Y),mark(Z))) constraint: Marked_a____(__(X,Y),Z) >= Marked_a____(mark(Y),mark(Z)) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(X) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(Y) constraint: Marked_a____(__(X,Y),Z) >= Marked_mark(Z) constraint: Marked_mark(__(X1,X2)) >= Marked_a____(mark(X1),mark(X2)) constraint: Marked_mark(__(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(__(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) ; a____(nil,X) >= mark(X) ; a____(X,nil) >= mark(X) ; a____(X1,X2) >= __(X1,X2) ; mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) ; mark(nil) >= nil ; mark(tt) >= tt ; mark(isList(X)) >= a__isList(X) ; mark(isNeList(X)) >= a__isNeList(X) ; mark(isPal(X)) >= a__isPal(X) ; mark(a) >= a ; mark(e) >= e ; mark(i) >= i ; mark(o) >= o ; mark(u) >= u ; mark(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isQid(X)) >= a__isQid(X) ; mark(isNePal(X)) >= a__isNePal(X) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) ; a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) ; a__isNeList(X) >= isNeList(X) ; a__isNeList(V) >= a__isQid(V) ; a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) ; a__isList(nil) >= tt ; a__isList(X) >= isList(X) ; a__isList(V) >= a__isNeList(V) ; a__isQid(a) >= tt ; a__isQid(e) >= tt ; a__isQid(i) >= tt ; a__isQid(o) >= tt ; a__isQid(u) >= tt ; a__isQid(X) >= isQid(X) ; a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) ; a__isNePal(X) >= isNePal(X) ; a__isNePal(V) >= a__isQid(V) ; a__isPal(nil) >= tt ; a__isPal(X) >= isPal(X) ; a__isPal(V) >= a__isNePal(V) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__isNeList(V1) ; Marked_a__isNeList(__(V1,V2)) >= Marked_a__isList(V1) ; Marked_a__isList(__(V1,V2)) >= Marked_a__isList(V1) ; Marked_a__isList(V) >= Marked_a__isNeList(V) ; } + Disjunctions:{ { Marked_a__isNeList(__(V1,V2)) > Marked_a__isNeList(V1) ; } { Marked_a__isNeList(__(V1,V2)) > Marked_a__isList(V1) ; } { Marked_a__isList(__(V1,V2)) > Marked_a__isList(V1) ; } { Marked_a__isList(V) > Marked_a__isNeList(V) ; } } === 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____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) constraint: a____(nil,X) >= mark(X) constraint: a____(X,nil) >= mark(X) constraint: a____(X1,X2) >= __(X1,X2) constraint: mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) constraint: mark(nil) >= nil constraint: mark(tt) >= tt constraint: mark(isList(X)) >= a__isList(X) constraint: mark(isNeList(X)) >= a__isNeList(X) constraint: mark(isPal(X)) >= a__isPal(X) constraint: mark(a) >= a constraint: mark(e) >= e constraint: mark(i) >= i constraint: mark(o) >= o constraint: mark(u) >= u constraint: mark(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isQid(X)) >= a__isQid(X) constraint: mark(isNePal(X)) >= a__isNePal(X) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) constraint: a__isNeList(X) >= isNeList(X) constraint: a__isNeList(V) >= a__isQid(V) constraint: a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) constraint: a__isList(nil) >= tt constraint: a__isList(X) >= isList(X) constraint: a__isList(V) >= a__isNeList(V) constraint: a__isQid(a) >= tt constraint: a__isQid(e) >= tt constraint: a__isQid(i) >= tt constraint: a__isQid(o) >= tt constraint: a__isQid(u) >= tt constraint: a__isQid(X) >= isQid(X) constraint: a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) constraint: a__isNePal(X) >= isNePal(X) constraint: a__isNePal(V) >= a__isQid(V) constraint: a__isPal(nil) >= tt constraint: a__isPal(X) >= isPal(X) constraint: a__isPal(V) >= a__isNePal(V) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__isNeList(V1) constraint: Marked_a__isNeList(__(V1,V2)) >= Marked_a__isList(V1) constraint: Marked_a__isList(__(V1,V2)) >= Marked_a__isList(V1) constraint: Marked_a__isList(V) >= Marked_a__isNeList(V) APPLY CRITERIA (Graph splitting) Found 2 components: { --> } { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) ; a____(nil,X) >= mark(X) ; a____(X,nil) >= mark(X) ; a____(X1,X2) >= __(X1,X2) ; mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) ; mark(nil) >= nil ; mark(tt) >= tt ; mark(isList(X)) >= a__isList(X) ; mark(isNeList(X)) >= a__isNeList(X) ; mark(isPal(X)) >= a__isPal(X) ; mark(a) >= a ; mark(e) >= e ; mark(i) >= i ; mark(o) >= o ; mark(u) >= u ; mark(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isQid(X)) >= a__isQid(X) ; mark(isNePal(X)) >= a__isNePal(X) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) ; a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) ; a__isNeList(X) >= isNeList(X) ; a__isNeList(V) >= a__isQid(V) ; a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) ; a__isList(nil) >= tt ; a__isList(X) >= isList(X) ; a__isList(V) >= a__isNeList(V) ; a__isQid(a) >= tt ; a__isQid(e) >= tt ; a__isQid(i) >= tt ; a__isQid(o) >= tt ; a__isQid(u) >= tt ; a__isQid(X) >= isQid(X) ; a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) ; a__isNePal(X) >= isNePal(X) ; a__isNePal(V) >= a__isQid(V) ; a__isPal(nil) >= tt ; a__isPal(X) >= isPal(X) ; a__isPal(V) >= a__isNePal(V) ; Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; } + Disjunctions:{ { Marked_a____(__(X,Y),Z) > Marked_a____(mark(X),a____(mark(Y),mark(Z))) ; } } === 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____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) constraint: a____(nil,X) >= mark(X) constraint: a____(X,nil) >= mark(X) constraint: a____(X1,X2) >= __(X1,X2) constraint: mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) constraint: mark(nil) >= nil constraint: mark(tt) >= tt constraint: mark(isList(X)) >= a__isList(X) constraint: mark(isNeList(X)) >= a__isNeList(X) constraint: mark(isPal(X)) >= a__isPal(X) constraint: mark(a) >= a constraint: mark(e) >= e constraint: mark(i) >= i constraint: mark(o) >= o constraint: mark(u) >= u constraint: mark(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isQid(X)) >= a__isQid(X) constraint: mark(isNePal(X)) >= a__isNePal(X) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) constraint: a__isNeList(X) >= isNeList(X) constraint: a__isNeList(V) >= a__isQid(V) constraint: a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) constraint: a__isList(nil) >= tt constraint: a__isList(X) >= isList(X) constraint: a__isList(V) >= a__isNeList(V) constraint: a__isQid(a) >= tt constraint: a__isQid(e) >= tt constraint: a__isQid(i) >= tt constraint: a__isQid(o) >= tt constraint: a__isQid(u) >= tt constraint: a__isQid(X) >= isQid(X) constraint: a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) constraint: a__isNePal(X) >= isNePal(X) constraint: a__isNePal(V) >= a__isQid(V) constraint: a__isPal(nil) >= tt constraint: a__isPal(X) >= isPal(X) constraint: a__isPal(V) >= a__isNePal(V) constraint: Marked_a____(__(X,Y),Z) >= Marked_a____(mark(X), a____(mark(Y),mark(Z))) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) ; a____(nil,X) >= mark(X) ; a____(X,nil) >= mark(X) ; a____(X1,X2) >= __(X1,X2) ; mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) ; mark(nil) >= nil ; mark(tt) >= tt ; mark(isList(X)) >= a__isList(X) ; mark(isNeList(X)) >= a__isNeList(X) ; mark(isPal(X)) >= a__isPal(X) ; mark(a) >= a ; mark(e) >= e ; mark(i) >= i ; mark(o) >= o ; mark(u) >= u ; mark(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isQid(X)) >= a__isQid(X) ; mark(isNePal(X)) >= a__isNePal(X) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) ; a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) ; a__isNeList(X) >= isNeList(X) ; a__isNeList(V) >= a__isQid(V) ; a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) ; a__isList(nil) >= tt ; a__isList(X) >= isList(X) ; a__isList(V) >= a__isNeList(V) ; a__isQid(a) >= tt ; a__isQid(e) >= tt ; a__isQid(i) >= tt ; a__isQid(o) >= tt ; a__isQid(u) >= tt ; a__isQid(X) >= isQid(X) ; a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) ; a__isNePal(X) >= isNePal(X) ; a__isNePal(V) >= a__isQid(V) ; a__isPal(nil) >= tt ; a__isPal(X) >= isPal(X) ; a__isPal(V) >= a__isNePal(V) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; } + Disjunctions:{ { Marked_mark(and(X1,X2)) > 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____(__(X,Y),Z) >= a____(mark(X),a____(mark(Y),mark(Z))) constraint: a____(nil,X) >= mark(X) constraint: a____(X,nil) >= mark(X) constraint: a____(X1,X2) >= __(X1,X2) constraint: mark(__(X1,X2)) >= a____(mark(X1),mark(X2)) constraint: mark(nil) >= nil constraint: mark(tt) >= tt constraint: mark(isList(X)) >= a__isList(X) constraint: mark(isNeList(X)) >= a__isNeList(X) constraint: mark(isPal(X)) >= a__isPal(X) constraint: mark(a) >= a constraint: mark(e) >= e constraint: mark(i) >= i constraint: mark(o) >= o constraint: mark(u) >= u constraint: mark(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isQid(X)) >= a__isQid(X) constraint: mark(isNePal(X)) >= a__isNePal(X) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isNeList(V1),isList(V2)) constraint: a__isNeList(__(V1,V2)) >= a__and(a__isList(V1),isNeList(V2)) constraint: a__isNeList(X) >= isNeList(X) constraint: a__isNeList(V) >= a__isQid(V) constraint: a__isList(__(V1,V2)) >= a__and(a__isList(V1),isList(V2)) constraint: a__isList(nil) >= tt constraint: a__isList(X) >= isList(X) constraint: a__isList(V) >= a__isNeList(V) constraint: a__isQid(a) >= tt constraint: a__isQid(e) >= tt constraint: a__isQid(i) >= tt constraint: a__isQid(o) >= tt constraint: a__isQid(u) >= tt constraint: a__isQid(X) >= isQid(X) constraint: a__isNePal(__(I,__(P,I))) >= a__and(a__isQid(I),isPal(P)) constraint: a__isNePal(X) >= isNePal(X) constraint: a__isNePal(V) >= a__isQid(V) constraint: a__isPal(nil) >= tt constraint: a__isPal(X) >= isPal(X) constraint: a__isPal(V) >= a__isNePal(V) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) [2] a____(X,nil) -> mark(X) [3] a____(nil,X) -> mark(X) [4] a__and(tt,X) -> mark(X) [5] a__isList(V) -> a__isNeList(V) [6] a__isList(nil) -> tt [7] a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) [8] a__isNeList(V) -> a__isQid(V) [9] a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) [10] a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) [11] a__isNePal(V) -> a__isQid(V) [12] a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) [13] a__isPal(V) -> a__isNePal(V) [14] a__isPal(nil) -> tt [15] a__isQid(a) -> tt [16] a__isQid(e) -> tt [17] a__isQid(i) -> tt [18] a__isQid(o) -> tt [19] a__isQid(u) -> tt [20] mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) [21] mark(and(X1,X2)) -> a__and(mark(X1),X2) [22] mark(isList(X)) -> a__isList(X) [23] mark(isNeList(X)) -> a__isNeList(X) [24] mark(isQid(X)) -> a__isQid(X) [25] mark(isNePal(X)) -> a__isNePal(X) [26] mark(isPal(X)) -> a__isPal(X) [27] mark(nil) -> nil [28] mark(tt) -> tt [29] mark(a) -> a [30] mark(e) -> e [31] mark(i) -> i [32] mark(o) -> o [33] mark(u) -> u [34] a____(X1,X2) -> __(X1,X2) [35] a__and(X1,X2) -> and(X1,X2) [36] a__isList(X) -> isList(X) [37] a__isNeList(X) -> isNeList(X) [38] a__isQid(X) -> isQid(X) [39] a__isNePal(X) -> isNePal(X) [40] a__isPal(X) -> isPal(X) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a____ ] (X0,X1) = 1*X1 + 1*X0; [ i ] () = 1; [ isList ] (X0) = 1*X0; [ a__and ] (X0,X1) = 1*X1 + 1*X0; [ isQid ] (X0) = 1*X0; [ isPal ] (X0) = 1*X0; [ Marked_a____ ] (X0,X1) = 2*X1 + 2*X0 + 1; [ __ ] (X0,X1) = 1*X1 + 1*X0; [ u ] () = 1; [ isNeList ] (X0) = 1*X0; [ Marked_a__isList ] (X0) = 2*X0 + 1; [ a__isNeList ] (X0) = 1*X0; [ Marked_a__isPal ] (X0) = 2*X0; [ a ] () = 1; [ mark ] (X0) = 1*X0; [ o ] () = 1; [ a__isQid ] (X0) = 1*X0; [ Marked_a__isNeList ] (X0) = 2*X0 + 1; [ tt ] () = 1; [ isNePal ] (X0) = 1*X0; [ a__isPal ] (X0) = 1*X0; [ Marked_mark ] (X0) = 2*X0 + 1; [ nil ] () = 1; [ and ] (X0,X1) = 1*X1 + 1*X0; [ a__isNePal ] (X0) = 1*X0; [ Marked_a__and ] (X0,X1) = 2*X1 + 1*X0; [ a__isList ] (X0) = 1*X0; [ Marked_a__isNePal ] (X0) = 2*X0; [ e ] () = 2; removing < Marked_a__isList(__(V1,V2)),Marked_a__and(a__isList(V1),isList(V2))>< Marked_a__isNeList(__(V1,V2)),Marked_a__and(a__isList(V1),isNeList(V2))>< Marked_a__isNeList(__(V1,V2)),Marked_a__and(a__isNeList(V1),isList(V2))>< Marked_mark(and(X1,X2)),Marked_a__and(mark(X1),X2)> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a____ ] (X0,X1) = 1*X1 + 1*X0 + 2; [ i ] () = 0; [ isList ] (X0) = 0; [ a__and ] (X0,X1) = 2*X1 + 2*X0; [ isQid ] (X0) = 0; [ isPal ] (X0) = 0; [ Marked_a____ ] (X0,X1) = 2*X1 + 2*X0; [ __ ] (X0,X1) = 1*X1 + 1*X0 + 2; [ u ] () = 0; [ isNeList ] (X0) = 0; [ a__isNeList ] (X0) = 0; [ a ] () = 0; [ mark ] (X0) = 1*X0; [ o ] () = 0; [ a__isQid ] (X0) = 0; [ tt ] () = 0; [ isNePal ] (X0) = 0; [ a__isPal ] (X0) = 0; [ Marked_mark ] (X0) = 2*X0; [ nil ] () = 0; [ and ] (X0,X1) = 2*X1 + 2*X0; [ a__isNePal ] (X0) = 0; [ a__isList ] (X0) = 0; [ e ] () = 0; removing < Marked_a____(__(X,Y),Z),Marked_mark(Z)>< Marked_mark(__(X1,X2)),Marked_mark(X1)> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ a____ ] (X0,X1) = 1 + 2*X0 + 1*X1 + 0; [ i ] () = 0; [ isList ] (X0) = 1*X0 + 0; [ a__and ] (X0,X1) = 1*X1 + 0; [ isQid ] (X0) = 0; [ isPal ] (X0) = 0; [ Marked_a____ ] (X0,X1) = 1*X0 + 0; [ __ ] (X0,X1) = 1 + 2*X0 + 1*X1 + 0; [ u ] () = 0; [ isNeList ] (X0) = 1*X0 + 0; [ a__isNeList ] (X0) = 1*X0 + 0; [ a ] () = 0; [ mark ] (X0) = 1*X0 + 0; [ o ] () = 0; [ a__isQid ] (X0) = 0; [ tt ] () = 0; [ isNePal ] (X0) = 0; [ a__isPal ] (X0) = 0; [ nil ] () = 0; [ and ] (X0,X1) = 1*X1 + 0; [ a__isNePal ] (X0) = 0; [ a__isList ] (X0) = 1*X0 + 0; [ e ] () = 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ a____ ] (X0,X1) = 2 + 1*X0 + 1*X1 + 0; [ i ] () = 0; [ isList ] (X0) = 2*X0 + 0; [ a__and ] (X0,X1) = 1 + 1*X0 + 1*X1 + 0; [ isQid ] (X0) = 0; [ isPal ] (X0) = 1*X0 + 0; [ __ ] (X0,X1) = 2 + 1*X0 + 1*X1 + 0; [ u ] () = 0; [ isNeList ] (X0) = 2*X0 + 0; [ a__isNeList ] (X0) = 2*X0 + 0; [ a ] () = 0; [ mark ] (X0) = 1*X0 + 0; [ o ] () = 0; [ a__isQid ] (X0) = 0; [ tt ] () = 0; [ isNePal ] (X0) = 1*X0 + 0; [ a__isPal ] (X0) = 1*X0 + 0; [ Marked_mark ] (X0) = 3*X0 + 0; [ nil ] () = 0; [ and ] (X0,X1) = 1 + 1*X0 + 1*X1 + 0; [ a__isNePal ] (X0) = 1*X0 + 0; [ a__isList ] (X0) = 2*X0 + 0; [ e ] () = 0; ]} ]} ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ a____ ] (X0,X1) = 3 + 1*X0 + 1*X1 + 0; [ i ] () = 0; [ isList ] (X0) = 1*X0 + 0; [ a__and ] (X0,X1) = 2 + 1*X1 + 0; [ isQid ] (X0) = 0; [ isPal ] (X0) = 3*X0 + 0; [ __ ] (X0,X1) = 3 + 1*X0 + 1*X1 + 0; [ u ] () = 0; [ isNeList ] (X0) = 1*X0 + 0; [ Marked_a__isList ] (X0) = 2 + 3*X0 + 0; [ a__isNeList ] (X0) = 1*X0 + 0; [ a ] () = 0; [ mark ] (X0) = 1*X0 + 0; [ o ] () = 0; [ a__isQid ] (X0) = 0; [ Marked_a__isNeList ] (X0) = 3*X0 + 0; [ tt ] () = 0; [ isNePal ] (X0) = 3*X0 + 0; [ a__isPal ] (X0) = 3*X0 + 0; [ nil ] () = 0; [ and ] (X0,X1) = 2 + 1*X1 + 0; [ a__isNePal ] (X0) = 3*X0 + 0; [ a__isList ] (X0) = 1*X0 + 0; [ e ] () = 0; ]} ]} ]} ]} ]} Cime worked for 0.680532 seconds (real time) Cime Exit Status: 0