(VAR N M X V1 V2) (STRATEGY CONTEXTSENSITIVE (U11 1) (tt) (U21 1) (s 1) (plus 1 2) (U31 1) (0) (U41 1) (x 1 2) (and 1) (isNat) ) (RULES U11(tt,N) -> N U21(tt,M,N) -> s(plus(N,M)) U31(tt) -> 0 U41(tt,M,N) -> plus(x(N,M),N) and(tt,X) -> X isNat(0) -> tt isNat(plus(V1,V2)) -> and(isNat(V1),isNat(V2)) isNat(s(V1)) -> isNat(V1) isNat(x(V1,V2)) -> and(isNat(V1),isNat(V2)) plus(N,0) -> U11(isNat(N),N) plus(N,s(M)) -> U21(and(isNat(M),isNat(N)),M,N) x(N,0) -> U31(isNat(N)) x(N,s(M)) -> U41(and(isNat(M),isNat(N)),M,N) ) Proving termination of context-sensitive rewriting for MYNAT_nokinds: -> Dependency pairs: nF_U11(tt,N) -> N nF_U21(tt,M,N) -> nF_plus(N,M) nF_U21(tt,M,N) -> N nF_U21(tt,M,N) -> M nF_U41(tt,M,N) -> nF_plus(x(N,M),N) nF_U41(tt,M,N) -> nF_x(N,M) nF_U41(tt,M,N) -> N nF_U41(tt,M,N) -> M nF_and(tt,X) -> X nF_isNat(plus(V1,V2)) -> nF_and(isNat(V1),isNat(V2)) nF_isNat(plus(V1,V2)) -> nF_isNat(V1) nF_isNat(s(V1)) -> nF_isNat(V1) nF_isNat(x(V1,V2)) -> nF_and(isNat(V1),isNat(V2)) nF_isNat(x(V1,V2)) -> nF_isNat(V1) nF_plus(N,0) -> nF_U11(isNat(N),N) nF_plus(N,0) -> nF_isNat(N) nF_plus(N,s(M)) -> nF_U21(and(isNat(M),isNat(N)),M,N) nF_plus(N,s(M)) -> nF_and(isNat(M),isNat(N)) nF_plus(N,s(M)) -> nF_isNat(M) nF_x(N,0) -> nF_U31(isNat(N)) nF_x(N,0) -> nF_isNat(N) nF_x(N,s(M)) -> nF_U41(and(isNat(M),isNat(N)),M,N) nF_x(N,s(M)) -> nF_and(isNat(M),isNat(N)) nF_x(N,s(M)) -> nF_isNat(M) -> Proof of termination for MYNAT_nokinds_1_1: -> -> Dependency pairs in cycle: nF_U41(tt,M,N) -> nF_x(N,M) nF_x(N,s(M)) -> nF_U41(and(isNat(M),isNat(N)),M,N) Termination proved: Cycles verify subterm criterion. -> Proof of termination for MYNAT_nokinds_1_2: -> -> Dependency pairs in cycle: nF_U21(tt,M,N) -> nF_plus(N,M) nF_plus(N,s(M)) -> nF_U21(and(isNat(M),isNat(N)),M,N) Termination proved: Cycles verify subterm criterion. -> Proof of termination for MYNAT_nokinds_1_3: -> -> Dependency pairs in cycle: nF_isNat(x(V1,V2)) -> nF_isNat(V1) nF_isNat(s(V1)) -> nF_isNat(V1) nF_isNat(plus(V1,V2)) -> nF_isNat(V1) nF_and(tt,X) -> X nF_isNat(x(V1,V2)) -> nF_and(isNat(V1),isNat(V2)) nF_isNat(plus(V1,V2)) -> nF_and(isNat(V1),isNat(V2)) Polynomial Interpretation: [x](X1,X2) = X1 + X2 + 1 [s](X) = X [plus](X1,X2) = X1 + X2 + 1 [x](X1,X2) = X1 + X2 + 1 [isNat](X) = X + 1 [and](X1,X2) = X1 + X2 + 1 [U11](X1,X2) = X1 [U21](X1,X2,X3) = X1 [U31](X) = X [U41](X1,X2,X3) = X1 TIME: 1.7665e-2 Termination proved: There exists a projection such that there are no minimal mu-rewrite sequences in cycle. -> -> Dependency pairs in cycle: nF_isNat(x(V1,V2)) -> nF_isNat(V1) nF_isNat(plus(V1,V2)) -> nF_isNat(V1) nF_isNat(s(V1)) -> nF_isNat(V1) 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.