(VAR M N V1 V2)
(STRATEGY CONTEXTSENSITIVE 
  (U101 1)
  (tt)
  (U102 1)
  (isNatKind)
  (U103 1)
  (isNat)
  (U104 1)
  (plus 1 2)
  (x 1 2)
  (U11 1)
  (U12 1)
  (U13 1)
  (U14 1)
  (U15 1)
  (U16 1)
  (U21 1)
  (U22 1)
  (U23 1)
  (U31 1)
  (U32 1)
  (U33 1)
  (U34 1)
  (U35 1)
  (U36 1)
  (U41 1)
  (U42 1)
  (U51 1)
  (U61 1)
  (U62 1)
  (U71 1)
  (U72 1)
  (U81 1)
  (U82 1)
  (U83 1)
  (U84 1)
  (s 1)
  (U91 1)
  (U92 1)
  (0)
)
(RULES 
U101(tt,M,N) -> U102(isNatKind(M),M,N)
U102(tt,M,N) -> U103(isNat(N),M,N)
U103(tt,M,N) -> U104(isNatKind(N),M,N)
U104(tt,M,N) -> plus(x(N,M),N)
U11(tt,V1,V2) -> U12(isNatKind(V1),V1,V2)
U12(tt,V1,V2) -> U13(isNatKind(V2),V1,V2)
U13(tt,V1,V2) -> U14(isNatKind(V2),V1,V2)
U14(tt,V1,V2) -> U15(isNat(V1),V2)
U15(tt,V2) -> U16(isNat(V2))
U16(tt) -> tt
U21(tt,V1) -> U22(isNatKind(V1),V1)
U22(tt,V1) -> U23(isNat(V1))
U23(tt) -> tt
U31(tt,V1,V2) -> U32(isNatKind(V1),V1,V2)
U32(tt,V1,V2) -> U33(isNatKind(V2),V1,V2)
U33(tt,V1,V2) -> U34(isNatKind(V2),V1,V2)
U34(tt,V1,V2) -> U35(isNat(V1),V2)
U35(tt,V2) -> U36(isNat(V2))
U36(tt) -> tt
U41(tt,V2) -> U42(isNatKind(V2))
U42(tt) -> tt
U51(tt) -> tt
U61(tt,V2) -> U62(isNatKind(V2))
U62(tt) -> tt
U71(tt,N) -> U72(isNatKind(N),N)
U72(tt,N) -> N
U81(tt,M,N) -> U82(isNatKind(M),M,N)
U82(tt,M,N) -> U83(isNat(N),M,N)
U83(tt,M,N) -> U84(isNatKind(N),M,N)
U84(tt,M,N) -> s(plus(N,M))
U91(tt,N) -> U92(isNatKind(N))
U92(tt) -> 0
isNat(0) -> tt
isNat(plus(V1,V2)) -> U11(isNatKind(V1),V1,V2)
isNat(s(V1)) -> U21(isNatKind(V1),V1)
isNat(x(V1,V2)) -> U31(isNatKind(V1),V1,V2)
isNatKind(0) -> tt
isNatKind(plus(V1,V2)) -> U41(isNatKind(V1),V2)
isNatKind(s(V1)) -> U51(isNatKind(V1))
isNatKind(x(V1,V2)) -> U61(isNatKind(V1),V2)
plus(N,0) -> U71(isNat(N),N)
plus(N,s(M)) -> U81(isNat(M),M,N)
x(N,0) -> U91(isNat(N),N)
x(N,s(M)) -> U101(isNat(M),M,N)
)

Proving termination of context-sensitive rewriting for MYNAT_complete_noand:

-> Dependency pairs:
nF_U101(tt,M,N) -> nF_U102(isNatKind(M),M,N)
nF_U101(tt,M,N) -> nF_isNatKind(M)
nF_U102(tt,M,N) -> nF_U103(isNat(N),M,N)
nF_U102(tt,M,N) -> nF_isNat(N)
nF_U103(tt,M,N) -> nF_U104(isNatKind(N),M,N)
nF_U103(tt,M,N) -> nF_isNatKind(N)
nF_U104(tt,M,N) -> nF_plus(x(N,M),N)
nF_U104(tt,M,N) -> nF_x(N,M)
nF_U104(tt,M,N) -> N
nF_U104(tt,M,N) -> M
nF_U11(tt,V1,V2) -> nF_U12(isNatKind(V1),V1,V2)
nF_U11(tt,V1,V2) -> nF_isNatKind(V1)
nF_U12(tt,V1,V2) -> nF_U13(isNatKind(V2),V1,V2)
nF_U12(tt,V1,V2) -> nF_isNatKind(V2)
nF_U13(tt,V1,V2) -> nF_U14(isNatKind(V2),V1,V2)
nF_U13(tt,V1,V2) -> nF_isNatKind(V2)
nF_U14(tt,V1,V2) -> nF_U15(isNat(V1),V2)
nF_U14(tt,V1,V2) -> nF_isNat(V1)
nF_U15(tt,V2) -> nF_U16(isNat(V2))
nF_U15(tt,V2) -> nF_isNat(V2)
nF_U21(tt,V1) -> nF_U22(isNatKind(V1),V1)
nF_U21(tt,V1) -> nF_isNatKind(V1)
nF_U22(tt,V1) -> nF_U23(isNat(V1))
nF_U22(tt,V1) -> nF_isNat(V1)
nF_U31(tt,V1,V2) -> nF_U32(isNatKind(V1),V1,V2)
nF_U31(tt,V1,V2) -> nF_isNatKind(V1)
nF_U32(tt,V1,V2) -> nF_U33(isNatKind(V2),V1,V2)
nF_U32(tt,V1,V2) -> nF_isNatKind(V2)
nF_U33(tt,V1,V2) -> nF_U34(isNatKind(V2),V1,V2)
nF_U33(tt,V1,V2) -> nF_isNatKind(V2)
nF_U34(tt,V1,V2) -> nF_U35(isNat(V1),V2)
nF_U34(tt,V1,V2) -> nF_isNat(V1)
nF_U35(tt,V2) -> nF_U36(isNat(V2))
nF_U35(tt,V2) -> nF_isNat(V2)
nF_U41(tt,V2) -> nF_U42(isNatKind(V2))
nF_U41(tt,V2) -> nF_isNatKind(V2)
nF_U61(tt,V2) -> nF_U62(isNatKind(V2))
nF_U61(tt,V2) -> nF_isNatKind(V2)
nF_U71(tt,N) -> nF_U72(isNatKind(N),N)
nF_U71(tt,N) -> nF_isNatKind(N)
nF_U72(tt,N) -> N
nF_U81(tt,M,N) -> nF_U82(isNatKind(M),M,N)
nF_U81(tt,M,N) -> nF_isNatKind(M)
nF_U82(tt,M,N) -> nF_U83(isNat(N),M,N)
nF_U82(tt,M,N) -> nF_isNat(N)
nF_U83(tt,M,N) -> nF_U84(isNatKind(N),M,N)
nF_U83(tt,M,N) -> nF_isNatKind(N)
nF_U84(tt,M,N) -> nF_plus(N,M)
nF_U84(tt,M,N) -> N
nF_U84(tt,M,N) -> M
nF_U91(tt,N) -> nF_U92(isNatKind(N))
nF_U91(tt,N) -> nF_isNatKind(N)
nF_isNat(plus(V1,V2)) -> nF_U11(isNatKind(V1),V1,V2)
nF_isNat(plus(V1,V2)) -> nF_isNatKind(V1)
nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1)
nF_isNat(s(V1)) -> nF_isNatKind(V1)
nF_isNat(x(V1,V2)) -> nF_U31(isNatKind(V1),V1,V2)
nF_isNat(x(V1,V2)) -> nF_isNatKind(V1)
nF_isNatKind(plus(V1,V2)) -> nF_U41(isNatKind(V1),V2)
nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V1)
nF_isNatKind(s(V1)) -> nF_U51(isNatKind(V1))
nF_isNatKind(s(V1)) -> nF_isNatKind(V1)
nF_isNatKind(x(V1,V2)) -> nF_U61(isNatKind(V1),V2)
nF_isNatKind(x(V1,V2)) -> nF_isNatKind(V1)
nF_plus(N,0) -> nF_U71(isNat(N),N)
nF_plus(N,0) -> nF_isNat(N)
nF_plus(N,s(M)) -> nF_U81(isNat(M),M,N)
nF_plus(N,s(M)) -> nF_isNat(M)
nF_x(N,0) -> nF_U91(isNat(N),N)
nF_x(N,0) -> nF_isNat(N)
nF_x(N,s(M)) -> nF_U101(isNat(M),M,N)
nF_x(N,s(M)) -> nF_isNat(M)

-> Proof of termination for MYNAT_complete_noand_1_1:
-> -> Dependency pairs in cycle:
nF_U101(tt,M,N) -> nF_U102(isNatKind(M),M,N)
nF_x(N,s(M)) -> nF_U101(isNat(M),M,N)
nF_U104(tt,M,N) -> nF_x(N,M)
nF_U103(tt,M,N) -> nF_U104(isNatKind(N),M,N)
nF_U102(tt,M,N) -> nF_U103(isNat(N),M,N)

Termination proved: Cycles verify subterm criterion.

-> Proof of termination for MYNAT_complete_noand_1_2:
-> -> Dependency pairs in cycle:
nF_plus(N,s(M)) -> nF_U81(isNat(M),M,N)
nF_U84(tt,M,N) -> nF_plus(N,M)
nF_U83(tt,M,N) -> nF_U84(isNatKind(N),M,N)
nF_U82(tt,M,N) -> nF_U83(isNat(N),M,N)
nF_U81(tt,M,N) -> nF_U82(isNatKind(M),M,N)

Termination proved: Cycles verify subterm criterion.

-> Proof of termination for MYNAT_complete_noand_1_3:
-> -> Dependency pairs in cycle:
nF_isNat(x(V1,V2)) -> nF_U31(isNatKind(V1),V1,V2)
nF_U35(tt,V2) -> nF_isNat(V2)
nF_U34(tt,V1,V2) -> nF_U35(isNat(V1),V2)
nF_U33(tt,V1,V2) -> nF_U34(isNatKind(V2),V1,V2)
nF_U32(tt,V1,V2) -> nF_U33(isNatKind(V2),V1,V2)
nF_U31(tt,V1,V2) -> nF_U32(isNatKind(V1),V1,V2)
nF_U34(tt,V1,V2) -> nF_isNat(V1)
nF_U22(tt,V1) -> nF_isNat(V1)
nF_U21(tt,V1) -> nF_U22(isNatKind(V1),V1)
nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1)
nF_U15(tt,V2) -> nF_isNat(V2)
nF_U14(tt,V1,V2) -> nF_U15(isNat(V1),V2)
nF_U13(tt,V1,V2) -> nF_U14(isNatKind(V2),V1,V2)
nF_U12(tt,V1,V2) -> nF_U13(isNatKind(V2),V1,V2)
nF_U11(tt,V1,V2) -> nF_U12(isNatKind(V1),V1,V2)
nF_isNat(plus(V1,V2)) -> nF_U11(isNatKind(V1),V1,V2)
nF_U14(tt,V1,V2) -> nF_isNat(V1)

Usable Rules:
U11(tt,V1,V2) -> U12(isNatKind(V1),V1,V2)
U12(tt,V1,V2) -> U13(isNatKind(V2),V1,V2)
U13(tt,V1,V2) -> U14(isNatKind(V2),V1,V2)
U14(tt,V1,V2) -> U15(isNat(V1),V2)
U15(tt,V2) -> U16(isNat(V2))
U16(tt) -> tt
U21(tt,V1) -> U22(isNatKind(V1),V1)
U22(tt,V1) -> U23(isNat(V1))
U23(tt) -> tt
U31(tt,V1,V2) -> U32(isNatKind(V1),V1,V2)
U32(tt,V1,V2) -> U33(isNatKind(V2),V1,V2)
U33(tt,V1,V2) -> U34(isNatKind(V2),V1,V2)
U34(tt,V1,V2) -> U35(isNat(V1),V2)
U35(tt,V2) -> U36(isNat(V2))
U36(tt) -> tt
U41(tt,V2) -> U42(isNatKind(V2))
U42(tt) -> tt
U51(tt) -> tt
U61(tt,V2) -> U62(isNatKind(V2))
U62(tt) -> tt
isNat(0) -> tt
isNat(plus(V1,V2)) -> U11(isNatKind(V1),V1,V2)
isNat(s(V1)) -> U21(isNatKind(V1),V1)
isNat(x(V1,V2)) -> U31(isNatKind(V1),V1,V2)
isNatKind(0) -> tt
isNatKind(plus(V1,V2)) -> U41(isNatKind(V1),V2)
isNatKind(s(V1)) -> U51(isNatKind(V1))
isNatKind(x(V1,V2)) -> U61(isNatKind(V1),V2)

Polynomial Interpretation:

[U101](X1,X2,X3) = 0
[tt] = 0
[U102](X1,X2,X3) = 0
[isNatKind](X) = X
[U103](X1,X2,X3) = 0
[isNat](X) = X
[U104](X1,X2,X3) = 0
[plus](X1,X2) = X1 + X2 + 1
[x](X1,X2) = X1 + X2 + 1
[U11](X1,X2,X3) = 0
[U12](X1,X2,X3) = 0
[U13](X1,X2,X3) = 0
[U14](X1,X2,X3) = 0
[U15](X1,X2) = 0
[U16](X) = 0
[U21](X1,X2) = 0
[U22](X1,X2) = 0
[U23](X) = 0
[U31](X1,X2,X3) = 0
[U32](X1,X2,X3) = 0
[U33](X1,X2,X3) = 0
[U34](X1,X2,X3) = 0
[U35](X1,X2) = 0
[U36](X) = 0
[U41](X1,X2) = 0
[U42](X) = 0
[U51](X) = 0
[U61](X1,X2) = 0
[U62](X) = 0
[U71](X1,X2) = 0
[U72](X1,X2) = 0
[U81](X1,X2,X3) = 0
[U82](X1,X2,X3) = 0
[U83](X1,X2,X3) = 0
[U84](X1,X2,X3) = 0
[s](X) = X + 1
[U91](X1,X2) = 0
[U92](X) = 0
[0] = 1
[nF_isNat](X) = X
[nF_U35](X1,X2) = X2
[nF_U34](X1,X2,X3) = X2 + X3
[nF_U33](X1,X2,X3) = X2 + X3
[nF_U32](X1,X2,X3) = X2 + X3
[nF_U31](X1,X2,X3) = X2 + X3
[nF_U22](X1,X2) = X2
[nF_U21](X1,X2) = X2
[nF_U15](X1,X2) = X2
[nF_U14](X1,X2,X3) = X2 + X3 + 1
[nF_U13](X1,X2,X3) = X2 + X3 + 1
[nF_U12](X1,X2,X3) = X2 + X3 + 1
[nF_U11](X1,X2,X3) = X2 + X3 + 1

TIME: 5.871e-2

-> -> Dependency pairs in cycle:
nF_isNat(x(V1,V2)) -> nF_U31(isNatKind(V1),V1,V2)
nF_U15(tt,V2) -> nF_isNat(V2)
nF_U14(tt,V1,V2) -> nF_U15(isNat(V1),V2)
nF_U13(tt,V1,V2) -> nF_U14(isNatKind(V2),V1,V2)
nF_U12(tt,V1,V2) -> nF_U13(isNatKind(V2),V1,V2)
nF_U11(tt,V1,V2) -> nF_U12(isNatKind(V1),V1,V2)
nF_isNat(plus(V1,V2)) -> nF_U11(isNatKind(V1),V1,V2)
nF_U22(tt,V1) -> nF_isNat(V1)
nF_U21(tt,V1) -> nF_U22(isNatKind(V1),V1)
nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1)
nF_U34(tt,V1,V2) -> nF_isNat(V1)
nF_U33(tt,V1,V2) -> nF_U34(isNatKind(V2),V1,V2)
nF_U32(tt,V1,V2) -> nF_U33(isNatKind(V2),V1,V2)
nF_U31(tt,V1,V2) -> nF_U32(isNatKind(V1),V1,V2)
nF_U35(tt,V2) -> nF_isNat(V2)
nF_U34(tt,V1,V2) -> nF_U35(isNat(V1),V2)

Usable Rules:
U11(tt,V1,V2) -> U12(isNatKind(V1),V1,V2)
U12(tt,V1,V2) -> U13(isNatKind(V2),V1,V2)
U13(tt,V1,V2) -> U14(isNatKind(V2),V1,V2)
U14(tt,V1,V2) -> U15(isNat(V1),V2)
U15(tt,V2) -> U16(isNat(V2))
U16(tt) -> tt
U21(tt,V1) -> U22(isNatKind(V1),V1)
U22(tt,V1) -> U23(isNat(V1))
U23(tt) -> tt
U31(tt,V1,V2) -> U32(isNatKind(V1),V1,V2)
U32(tt,V1,V2) -> U33(isNatKind(V2),V1,V2)
U33(tt,V1,V2) -> U34(isNatKind(V2),V1,V2)
U34(tt,V1,V2) -> U35(isNat(V1),V2)
U35(tt,V2) -> U36(isNat(V2))
U36(tt) -> tt
U41(tt,V2) -> U42(isNatKind(V2))
U42(tt) -> tt
U51(tt) -> tt
U61(tt,V2) -> U62(isNatKind(V2))
U62(tt) -> tt
isNat(0) -> tt
isNat(plus(V1,V2)) -> U11(isNatKind(V1),V1,V2)
isNat(s(V1)) -> U21(isNatKind(V1),V1)
isNat(x(V1,V2)) -> U31(isNatKind(V1),V1,V2)
isNatKind(0) -> tt
isNatKind(plus(V1,V2)) -> U41(isNatKind(V1),V2)
isNatKind(s(V1)) -> U51(isNatKind(V1))
isNatKind(x(V1,V2)) -> U61(isNatKind(V1),V2)

Polynomial Interpretation:

[U101](X1,X2,X3) = 0
[tt] = 1
[U102](X1,X2,X3) = 0
[isNatKind](X) = X
[U103](X1,X2,X3) = 0
[isNat](X) = X
[U104](X1,X2,X3) = 0
[plus](X1,X2) = X1 + X2 + 1
[x](X1,X2) = X1 + X2
[U11](X1,X2,X3) = X3
[U12](X1,X2,X3) = X3
[U13](X1,X2,X3) = X3
[U14](X1,X2,X3) = X3
[U15](X1,X2) = X2
[U16](X) = X
[U21](X1,X2) = X2
[U22](X1,X2) = X2
[U23](X) = X
[U31](X1,X2,X3) = X2 + X3
[U32](X1,X2,X3) = X2 + X3
[U33](X1,X2,X3) = X1 + X2
[U34](X1,X2,X3) = X2
[U35](X1,X2) = X1
[U36](X) = 1
[U41](X1,X2) = X1 + X2
[U42](X) = X
[U51](X) = X
[U61](X1,X2) = X1 + X2
[U62](X) = X
[U71](X1,X2) = 0
[U72](X1,X2) = 0
[U81](X1,X2,X3) = 0
[U82](X1,X2,X3) = 0
[U83](X1,X2,X3) = 0
[U84](X1,X2,X3) = 0
[s](X) = X + 1
[U91](X1,X2) = 0
[U92](X) = 0
[0] = 1
[nF_isNat](X) = X + 1
[nF_U15](X1,X2) = X1 + X2
[nF_U14](X1,X2,X3) = X2 + X3
[nF_U13](X1,X2,X3) = X2 + X3
[nF_U12](X1,X2,X3) = X2 + X3
[nF_U11](X1,X2,X3) = X2 + X3
[nF_U22](X1,X2) = X2 + 1
[nF_U21](X1,X2) = X2 + 1
[nF_U34](X1,X2,X3) = X2 + X3 + 1
[nF_U33](X1,X2,X3) = X2 + X3 + 1
[nF_U32](X1,X2,X3) = X2 + X3 + 1
[nF_U31](X1,X2,X3) = X2 + X3 + 1
[nF_U35](X1,X2) = X1 + X2

TIME: 0.194836

-> -> Dependency pairs in cycle:
nF_isNat(x(V1,V2)) -> nF_U31(isNatKind(V1),V1,V2)
nF_U34(tt,V1,V2) -> nF_isNat(V1)
nF_U33(tt,V1,V2) -> nF_U34(isNatKind(V2),V1,V2)
nF_U32(tt,V1,V2) -> nF_U33(isNatKind(V2),V1,V2)
nF_U31(tt,V1,V2) -> nF_U32(isNatKind(V1),V1,V2)
nF_U22(tt,V1) -> nF_isNat(V1)
nF_U21(tt,V1) -> nF_U22(isNatKind(V1),V1)
nF_isNat(s(V1)) -> nF_U21(isNatKind(V1),V1)
nF_U15(tt,V2) -> nF_isNat(V2)
nF_U14(tt,V1,V2) -> nF_U15(isNat(V1),V2)
nF_U13(tt,V1,V2) -> nF_U14(isNatKind(V2),V1,V2)
nF_U12(tt,V1,V2) -> nF_U13(isNatKind(V2),V1,V2)
nF_U11(tt,V1,V2) -> nF_U12(isNatKind(V1),V1,V2)
nF_isNat(plus(V1,V2)) -> nF_U11(isNatKind(V1),V1,V2)

Termination proved: Cycles verify subterm criterion.

-> Proof of termination for MYNAT_complete_noand_1_4:
-> -> Dependency pairs in cycle:
nF_isNatKind(x(V1,V2)) -> nF_isNatKind(V1)
nF_isNatKind(s(V1)) -> nF_isNatKind(V1)
nF_isNatKind(plus(V1,V2)) -> nF_isNatKind(V1)
nF_U61(tt,V2) -> nF_isNatKind(V2)
nF_isNatKind(x(V1,V2)) -> nF_U61(isNatKind(V1),V2)
nF_U41(tt,V2) -> nF_isNatKind(V2)
nF_isNatKind(plus(V1,V2)) -> nF_U41(isNatKind(V1),V2)

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.