YES

The TRS could be proven terminating. The proof took 1671 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (463ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (335ms).
 |    | – Problem 4 was processed with processor DependencyGraph (19ms).
 |    |    | – Problem 5 was processed with processor PolynomialLinearRange4 (127ms).
 |    |    |    | – Problem 8 was processed with processor DependencyGraph (4ms).
 |    |    | – Problem 6 was processed with processor PolynomialLinearRange4 (13ms).
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (17ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (253ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U11#(tt, V1, V2) → U12#(isNat(V1), V2)isNat#(plus(V1, V2)) → U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2)
plus#(N, 0) → isNat#(N)U12#(tt, V2) → isNat#(V2)
isNat#(s(V1)) → isNatKind#(V1)isNat#(s(V1)) → U21#(isNatKind(V1), V1)
plus#(N, s(M)) → and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N)))T(isNat(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_1)plus#(N, s(M)) → isNat#(M)
U12#(tt, V2) → U13#(isNat(V2))isNatKind#(s(V1)) → isNatKind#(V1)
isNatKind#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))T(isNatKind(V2)) → isNatKind#(V2)
isNat#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))U21#(tt, V1) → isNat#(V1)
T(isNatKind(M)) → isNatKind#(M)and#(tt, X) → T(X)
U31#(tt, N) → T(N)isNatKind#(plus(V1, V2)) → isNatKind#(V1)
U21#(tt, V1) → U22#(isNat(V1))T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N))
plus#(N, 0) → and#(isNat(N), isNatKind(N))T(isNatKind(N)) → isNatKind#(N)
U41#(tt, M, N) → plus#(N, M)plus#(N, s(M)) → and#(isNat(M), isNatKind(M))
U11#(tt, V1, V2) → isNat#(V1)U41#(tt, M, N) → T(M)
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)
isNat#(plus(V1, V2)) → isNatKind#(V1)U41#(tt, M, N) → T(N)
T(isNat(N)) → isNat#(N)T(isNatKind(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U13#) = μ(U31#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U31) = μ(U13) = {1}
μ(plus) = μ(plus#) = {1, 2}


The following SCCs where found

plus#(N, s(M)) → U41#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)U41#(tt, M, N) → plus#(N, M)

U11#(tt, V1, V2) → U12#(isNat(V1), V2)and#(tt, X) → T(X)
T(isNatKind(M)) → isNatKind#(M)isNatKind#(plus(V1, V2)) → isNatKind#(V1)
isNat#(plus(V1, V2)) → U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2)U12#(tt, V2) → isNat#(V2)
T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N))isNat#(s(V1)) → isNatKind#(V1)
isNat#(s(V1)) → U21#(isNatKind(V1), V1)T(isNatKind(N)) → isNatKind#(N)
T(isNat(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
U11#(tt, V1, V2) → isNat#(V1)isNatKind#(s(V1)) → isNatKind#(V1)
isNatKind#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))isNat#(plus(V1, V2)) → isNatKind#(V1)
T(isNat(N)) → isNat#(N)T(isNatKind(V2)) → isNatKind#(V2)
isNat#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))T(isNatKind(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)U21#(tt, V1) → isNat#(V1)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U11#(tt, V1, V2) → U12#(isNat(V1), V2)isNatKind#(plus(V1, V2)) → isNatKind#(V1)
T(isNatKind(M)) → isNatKind#(M)and#(tt, X) → T(X)
isNat#(plus(V1, V2)) → U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2)T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N))
U12#(tt, V2) → isNat#(V2)isNat#(s(V1)) → isNatKind#(V1)
isNat#(s(V1)) → U21#(isNatKind(V1), V1)T(isNatKind(N)) → isNatKind#(N)
T(and(x_1, x_2)) → T(x_1)T(isNat(x_1)) → T(x_1)
U11#(tt, V1, V2) → isNat#(V1)isNatKind#(s(V1)) → isNatKind#(V1)
isNatKind#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))isNat#(plus(V1, V2)) → isNatKind#(V1)
T(isNat(N)) → isNat#(N)T(isNatKind(V2)) → isNatKind#(V2)
isNat#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))T(isNatKind(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)U21#(tt, V1) → isNat#(V1)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(0) → ttplus(N, s(M)) → U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U21(tt, V1) → U22(isNat(V1))plus(N, 0) → U31(and(isNat(N), isNatKind(N)), N)
U41(tt, M, N) → s(plus(N, M))isNat(s(V1)) → U21(isNatKind(V1), V1)
isNatKind(s(V1)) → isNatKind(V1)U31(tt, N) → N
U11(tt, V1, V2) → U12(isNat(V1), V2)U13(tt) → tt
isNat(plus(V1, V2)) → U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)and(tt, X) → X
isNatKind(plus(V1, V2)) → and(isNatKind(V1), isNatKind(V2))isNatKind(0) → tt
U12(tt, V2) → U13(isNat(V2))U22(tt) → tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(plus(V1, V2)) → isNatKind#(V1)T(isNatKind(M)) → isNatKind#(M)
isNat#(plus(V1, V2)) → U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2)T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N))
isNat#(s(V1)) → isNatKind#(V1)T(isNatKind(N)) → isNatKind#(N)
T(isNat(x_1)) → T(x_1)isNat#(plus(V1, V2)) → isNatKind#(V1)
T(isNat(N)) → isNat#(N)T(isNatKind(V2)) → isNatKind#(V2)
isNat#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))

Problem 4: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1)) → isNatKind#(V1)U11#(tt, V1, V2) → U12#(isNat(V1), V2)
and#(tt, X) → T(X)isNatKind#(plus(V1, V2)) → and#(isNatKind(V1), isNatKind(V2))
U12#(tt, V2) → isNat#(V2)isNat#(s(V1)) → U21#(isNatKind(V1), V1)
T(isNatKind(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)U21#(tt, V1) → isNat#(V1)
U11#(tt, V1, V2) → isNat#(V1)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U13#) = μ(U31#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U31) = μ(U13) = {1}
μ(plus) = μ(plus#) = {1, 2}


The following SCCs where found

isNatKind#(s(V1)) → isNatKind#(V1)

T(and(x_1, x_2)) → T(x_1)T(isNatKind(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)

isNat#(s(V1)) → U21#(isNatKind(V1), V1)U21#(tt, V1) → isNat#(V1)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(s(V1)) → U21#(isNatKind(V1), V1)U21#(tt, V1) → isNat#(V1)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(0) → ttplus(N, s(M)) → U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U21(tt, V1) → U22(isNat(V1))plus(N, 0) → U31(and(isNat(N), isNatKind(N)), N)
U41(tt, M, N) → s(plus(N, M))isNat(s(V1)) → U21(isNatKind(V1), V1)
isNatKind(s(V1)) → isNatKind(V1)U31(tt, N) → N
U11(tt, V1, V2) → U12(isNat(V1), V2)U13(tt) → tt
isNat(plus(V1, V2)) → U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)and(tt, X) → X
isNatKind(plus(V1, V2)) → and(isNatKind(V1), isNatKind(V2))isNatKind(0) → tt
U12(tt, V2) → U13(isNat(V2))U22(tt) → tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNat#(s(V1)) → U21#(isNatKind(V1), V1)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U21#(tt, V1) → isNat#(V1)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U13#) = μ(U31#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U31) = μ(U13) = {1}
μ(plus) = μ(plus#) = {1, 2}


There are no SCCs!

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1)) → isNatKind#(V1)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(s(V1)) → isNatKind#(V1)

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(and(x_1, x_2)) → T(x_1)T(isNatKind(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

T(isNatKind(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

plus#(N, s(M)) → U41#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)U41#(tt, M, N) → plus#(N, M)

Rewrite Rules

U11(tt, V1, V2) → U12(isNat(V1), V2)U12(tt, V2) → U13(isNat(V2))
U13(tt) → ttU21(tt, V1) → U22(isNat(V1))
U22(tt) → ttU31(tt, N) → N
U41(tt, M, N) → s(plus(N, M))and(tt, X) → X
isNat(0) → ttisNat(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)

Original Signature

Termination of terms over the following signature is verified: plus, isNatKind, and, isNat, 0, s, tt, U41, U11, U12, U13, U31, U21, U22

Strategy

Context-sensitive strategy:
μ(isNat) = μ(T) = μ(isNatKind) = μ(0) = μ(isNatKind#) = μ(tt) = μ(isNat#) = ∅
μ(U11#) = μ(U31#) = μ(U13#) = μ(U21#) = μ(and#) = μ(U41#) = μ(U41) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(and) = μ(s) = μ(U11) = μ(U12) = μ(U13) = μ(U31) = {1}
μ(plus) = μ(plus#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(0) → ttplus(N, s(M)) → U41(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U21(tt, V1) → U22(isNat(V1))plus(N, 0) → U31(and(isNat(N), isNatKind(N)), N)
U41(tt, M, N) → s(plus(N, M))isNat(s(V1)) → U21(isNatKind(V1), V1)
isNatKind(s(V1)) → isNatKind(V1)U31(tt, N) → N
U11(tt, V1, V2) → U12(isNat(V1), V2)U13(tt) → tt
isNat(plus(V1, V2)) → U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)and(tt, X) → X
isNatKind(plus(V1, V2)) → and(isNatKind(V1), isNatKind(V2))isNatKind(0) → tt
U12(tt, V2) → U13(isNat(V2))U22(tt) → tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

plus#(N, s(M)) → U41#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)U41#(tt, M, N) → plus#(N, M)