(VAR X Y Z V V1 V2 I P) (STRATEGY CONTEXTSENSITIVE (__ 1 2) (nil) (and 1) (tt) (isList) (isNeList) (isQid) (isNePal) (isPal) (a) (e) (i) (o) (u) ) (RULES __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil) -> X __(nil,X) -> X and(tt,X) -> X isList(V) -> isNeList(V) isList(nil) -> tt isList(__(V1,V2)) -> and(isList(V1),isList(V2)) isNeList(V) -> isQid(V) isNeList(__(V1,V2)) -> and(isList(V1),isNeList(V2)) isNeList(__(V1,V2)) -> and(isNeList(V1),isList(V2)) isNePal(V) -> isQid(V) isNePal(__(I,__(P,I))) -> and(isQid(I),isPal(P)) isPal(V) -> isNePal(V) isPal(nil) -> tt isQid(a) -> tt isQid(e) -> tt isQid(i) -> tt isQid(o) -> tt isQid(u) -> tt ) Proving termination of context-sensitive rewriting for PALINDROME_nokinds: -> Dependency pairs: nF___(__(X,Y),Z) -> nF___(X,__(Y,Z)) nF___(__(X,Y),Z) -> nF___(Y,Z) nF_and(tt,X) -> X nF_isList(V) -> nF_isNeList(V) nF_isList(__(V1,V2)) -> nF_and(isList(V1),isList(V2)) nF_isList(__(V1,V2)) -> nF_isList(V1) nF_isNeList(V) -> nF_isQid(V) nF_isNeList(__(V1,V2)) -> nF_and(isList(V1),isNeList(V2)) nF_isNeList(__(V1,V2)) -> nF_isList(V1) nF_isNeList(__(V1,V2)) -> nF_and(isNeList(V1),isList(V2)) nF_isNeList(__(V1,V2)) -> nF_isNeList(V1) nF_isNePal(V) -> nF_isQid(V) nF_isNePal(__(I,__(P,I))) -> nF_and(isQid(I),isPal(P)) nF_isNePal(__(I,__(P,I))) -> nF_isQid(I) nF_isPal(V) -> nF_isNePal(V) -> Proof of termination for PALINDROME_nokinds_1_1: -> -> Dependency pairs in cycle: nF_and(tt,X) -> X nF_isNePal(__(I,__(P,I))) -> nF_and(isQid(I),isPal(P)) nF_isPal(V) -> nF_isNePal(V) nF_isNeList(__(V1,V2)) -> nF_and(isNeList(V1),isList(V2)) nF_isNeList(__(V1,V2)) -> nF_isNeList(V1) nF_isList(V) -> nF_isNeList(V) nF_isNeList(__(V1,V2)) -> nF_isList(V1) nF_isList(__(V1,V2)) -> nF_isList(V1) nF_isNeList(__(V1,V2)) -> nF_and(isList(V1),isNeList(V2)) nF_isList(__(V1,V2)) -> nF_and(isList(V1),isList(V2)) Polynomial Interpretation: [__](X1,X2) = X1 + X2 + 1 [__](X1,X2) = X1 + X2 + 1 [isPal](X) = X + 1 [__](X1,X2) = X1 + X2 + 1 [isList](X) = X + 1 [__](X1,X2) = X1 + X2 + 1 [__](X1,X2) = X1 + X2 + 1 [__](X1,X2) = X1 + X2 + 1 [__](X1,X2) = X1 + X2 + 1 [isNeList](X) = X + 1 [and](X1,X2) = X1 + X2 + 1 [isNePal](X) = X + 1 TIME: 0.15382799999999996 Termination proved: There exists a projection such that there are no minimal mu-rewrite sequences in cycle. -> -> Dependency pairs in cycle: nF_isNeList(__(V1,V2)) -> nF_isNeList(V1) nF_isList(V) -> nF_isNeList(V) nF_isList(__(V1,V2)) -> nF_isList(V1) nF_isNeList(__(V1,V2)) -> nF_isList(V1) Termination proved: Cycles verify subterm criterion. -> Proof of termination for PALINDROME_nokinds_1_2: -> -> Dependency pairs in cycle: nF___(__(X,Y),Z) -> nF___(X,__(Y,Z)) nF___(__(X,Y),Z) -> nF___(Y,Z) Termination proved: Cycles verify subterm criterion. SETTINGS: Base ordering: Polynomial ordering Proof mode: SCCs in CSDG + base ordering Upper bound for coeffs: 1 Rationals below 1 for all non-replacing args: No Polynomial interpretation: Linear Coeffs in polynomials: No rationals Delta: automatic Termination was proved succesfully.