(VAR V1 V2 N M X) (RULES U11(tt,V1,V2) -> U12(isNat(V1),V2) U12(tt,V2) -> U13(isNat(V2)) U13(tt) -> tt U21(tt,V1) -> U22(isNat(V1)) U22(tt) -> tt U31(tt,N) -> N U41(tt,M,N) -> s(plus(N,M)) and(tt,X) -> X isNat(0) -> tt isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) isNat(s(V1)) -> U21(isNatKind(V1),V1) isNatKind(0) -> tt isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) isNatKind(s(V1)) -> isNatKind(V1) plus(N,0) -> U31(and(isNat(N),isNatKind(N)),N) plus(N,s(M)) -> U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) ) Proving termination of rewriting for MYNAT_complete: -> Dependency pairs: nF_U11(tt,V1,V2) -> nF_U12(isNat(V1),V2) nF_U11(tt,V1,V2) -> nF_isNat(V1) nF_U12(tt,V2) -> nF_U13(isNat(V2)) nF_U12(tt,V2) -> nF_isNat(V2) nF_U21(tt,V1) -> nF_U22(isNat(V1)) nF_U21(tt,V1) -> nF_isNat(V1) nF_U41(tt,M,N) -> nF_plus(N,M) nF_isNat(plus(V1,V2)) -> nF_U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) nF_isNat(plus(V1,V2)) -> nF_and(isNatKind(V1),isNatKind(V2)) nF_isNat(plus(V1,V2)) -> nF_isNatKind(V1) nF_isNat(plus(V1,V2)) -> nF_isNatKind(V2) nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1) nF_isNat(s(V1)) -> nF_isNatKind(V1) nF_isNatKind(plus(V1,V2)) -> nF_and(isNatKind(V1),isNatKind(V2)) nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V1) nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V2) nF_isNatKind(s(V1)) -> nF_isNatKind(V1) nF_plus(N,0) -> nF_U31(and(isNat(N),isNatKind(N)),N) nF_plus(N,0) -> nF_and(isNat(N),isNatKind(N)) nF_plus(N,0) -> nF_isNat(N) nF_plus(N,0) -> nF_isNatKind(N) nF_plus(N,s(M)) -> nF_U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) nF_plus(N,s(M)) -> nF_and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))) nF_plus(N,s(M)) -> nF_and(isNat(M),isNatKind(M)) nF_plus(N,s(M)) -> nF_isNat(M) nF_plus(N,s(M)) -> nF_isNatKind(M) nF_plus(N,s(M)) -> nF_and(isNat(N),isNatKind(N)) nF_plus(N,s(M)) -> nF_isNat(N) nF_plus(N,s(M)) -> nF_isNatKind(N) -> Proof of termination for MYNAT_complete_1_1: -> -> Dependency pairs in cycle: nF_U41(tt,M,N) -> nF_plus(N,M) nF_plus(N,s(M)) -> nF_U41(and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N))),M,N) Termination proved: Cycles verify subterm criterion. -> Proof of termination for MYNAT_complete_1_2: -> -> Dependency pairs in cycle: nF_U11(tt,V1,V2) -> nF_U12(isNat(V1),V2) nF_isNat(plus(V1,V2)) -> nF_U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) nF_U21(tt,V1) -> nF_isNat(V1) nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1) nF_U12(tt,V2) -> nF_isNat(V2) nF_U11(tt,V1,V2) -> nF_isNat(V1) Usable Rules: U11(tt,V1,V2) -> U12(isNat(V1),V2) U12(tt,V2) -> U13(isNat(V2)) U13(tt) -> tt U21(tt,V1) -> U22(isNat(V1)) U22(tt) -> tt and(tt,X) -> X isNat(0) -> tt isNat(plus(V1,V2)) -> U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) isNat(s(V1)) -> U21(isNatKind(V1),V1) isNatKind(0) -> tt isNatKind(plus(V1,V2)) -> and(isNatKind(V1),isNatKind(V2)) isNatKind(s(V1)) -> isNatKind(V1) Polynomial Interpretation: [U11](X1,X2,X3) = 1 [tt] = 1 [U12](X1,X2) = 1 [isNat](X) = X [U13](X) = 1 [U21](X1,X2) = X2 [U22](X) = X [U31](X1,X2) = 0 [U41](X1,X2,X3) = 0 [s](X) = X + 1 [plus](X1,X2) = X1 + X2 + 1 [and](X1,X2) = X2 [0] = 1 [isNatKind](X) = 1 [nF_U11](X1,X2,X3) = X1 + X2 + X3 [nF_isNat](X) = X [nF_U21](X1,X2) = X2 [nF_U12](X1,X2) = X1 + X2 TIME: 2.8484e-2 -> -> Dependency pairs in cycle: nF_U11(tt,V1,V2) -> nF_U12(isNat(V1),V2) nF_isNat(plus(V1,V2)) -> nF_U11(and(isNatKind(V1),isNatKind(V2)),V1,V2) nF_U12(tt,V2) -> nF_isNat(V2) nF_U21(tt,V1) -> nF_isNat(V1) nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1) Termination proved: Cycles verify subterm criterion. -> Proof of termination for MYNAT_complete_1_3: -> -> Dependency pairs in cycle: nF_isNatKind(s(V1)) -> nF_isNatKind(V1) nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V2) nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V1) Termination proved: Cycles verify subterm criterion. SETTINGS: Base ordering: Polynomial ordering Proof mode: SCCs in DG + 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.