- : 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__isNePal(__(I,__(P,I))) -> tt [6] mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) [7] mark(and(X1,X2)) -> a__and(mark(X1),X2) [8] mark(isNePal(X)) -> a__isNePal(mark(X)) [9] mark(nil) -> nil [10] mark(tt) -> tt [11] a____(X1,X2) -> __(X1,X2) [12] a__and(X1,X2) -> and(X1,X2) [13] a__isNePal(X) -> isNePal(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(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isNePal(X)) >= a__isNePal(mark(X)) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNePal(__(I,__(P,I))) >= tt ; a__isNePal(X) >= isNePal(X) ; 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(and(X1,X2)) >= Marked_a__and(mark(X1),X2) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(isNePal(X)) >= Marked_mark(X) ; } + Disjunctions:{ { 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(and(X1,X2)) > Marked_a__and(mark(X1),X2) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(isNePal(X)) > Marked_mark(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(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isNePal(X)) >= a__isNePal(mark(X)) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNePal(__(I,__(P,I))) >= tt constraint: a__isNePal(X) >= isNePal(X) 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(and(X1,X2)) >= Marked_a__and(mark(X1),X2) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(isNePal(X)) >= Marked_mark(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(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isNePal(X)) >= a__isNePal(mark(X)) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNePal(__(I,__(P,I))) >= tt ; a__isNePal(X) >= isNePal(X) ; 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(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isNePal(X)) >= a__isNePal(mark(X)) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNePal(__(I,__(P,I))) >= tt constraint: a__isNePal(X) >= isNePal(X) 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(and(X1,X2)) >= a__and(mark(X1),X2) ; mark(isNePal(X)) >= a__isNePal(mark(X)) ; a__and(tt,X) >= mark(X) ; a__and(X1,X2) >= and(X1,X2) ; a__isNePal(__(I,__(P,I))) >= tt ; a__isNePal(X) >= isNePal(X) ; Marked_mark(isNePal(X)) >= Marked_mark(X) ; } + Disjunctions:{ { Marked_mark(isNePal(X)) > Marked_mark(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(and(X1,X2)) >= a__and(mark(X1),X2) constraint: mark(isNePal(X)) >= a__isNePal(mark(X)) constraint: a__and(tt,X) >= mark(X) constraint: a__and(X1,X2) >= and(X1,X2) constraint: a__isNePal(__(I,__(P,I))) >= tt constraint: a__isNePal(X) >= isNePal(X) constraint: Marked_mark(isNePal(X)) >= Marked_mark(X) 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__isNePal(__(I,__(P,I))) -> tt [6] mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) [7] mark(and(X1,X2)) -> a__and(mark(X1),X2) [8] mark(isNePal(X)) -> a__isNePal(mark(X)) [9] mark(nil) -> nil [10] mark(tt) -> tt [11] a____(X1,X2) -> __(X1,X2) [12] a__and(X1,X2) -> and(X1,X2) [13] a__isNePal(X) -> isNePal(X) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a____ ] (X0,X1) = 1*X1 + 1*X0 + 3; [ isNePal ] (X0) = 3*X0; [ a__and ] (X0,X1) = 3*X1 + 2*X0 + 2; [ Marked_mark ] (X0) = 2*X0; [ __ ] (X0,X1) = 1*X1 + 1*X0 + 3; [ Marked_a__and ] (X0,X1) = 3*X1 + 2*X0 + 3; [ a__isNePal ] (X0) = 3*X0; [ mark ] (X0) = 1*X0; [ tt ] () = 0; [ nil ] () = 1; [ Marked_a____ ] (X0,X1) = 2*X1 + 2*X0; [ and ] (X0,X1) = 3*X1 + 2*X0 + 2; removing < Marked_a____(__(X,Y),Z),Marked_mark(Z)>< Marked_a____(nil,X),Marked_mark(X)>< Marked_mark(__(X1,X2)),Marked_a____(mark(X1),mark(X2))> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ a____ ] (X0,X1) = 1 + 2*X0 + 1*X1 + 0; [ isNePal ] (X0) = 0; [ a__and ] (X0,X1) = 3*X1 + 0; [ __ ] (X0,X1) = 1 + 2*X0 + 1*X1 + 0; [ a__isNePal ] (X0) = 0; [ mark ] (X0) = 1*X0 + 0; [ tt ] () = 0; [ nil ] () = 0; [ Marked_a____ ] (X0,X1) = 1*X0 + 0; [ and ] (X0,X1) = 3*X1 + 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ a____ ] (X0,X1) = 1*X0 + 1*X1 + 0; [ isNePal ] (X0) = 2 + 2*X0 + 0; [ a__and ] (X0,X1) = 3*X1 + 0; [ Marked_mark ] (X0) = 3*X0 + 0; [ __ ] (X0,X1) = 1*X0 + 1*X1 + 0; [ a__isNePal ] (X0) = 2 + 2*X0 + 0; [ mark ] (X0) = 1*X0 + 0; [ tt ] () = 0; [ nil ] () = 0; [ and ] (X0,X1) = 3*X1 + 0; ]} ]} ]} ]} ]} Cime worked for 0.181304 seconds (real time) Cime Exit Status: 0