(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

U101(tt, M, N) → U102(isNatKind(activate(M)), activate(M), activate(N))
U102(tt, M, N) → U103(isNat(activate(N)), activate(M), activate(N))
U103(tt, M, N) → U104(isNatKind(activate(N)), activate(M), activate(N))
U104(tt, M, N) → plus(x(activate(N), activate(M)), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U31(tt, V1, V2) → U32(isNatKind(activate(V1)), activate(V1), activate(V2))
U32(tt, V1, V2) → U33(isNatKind(activate(V2)), activate(V1), activate(V2))
U33(tt, V1, V2) → U34(isNatKind(activate(V2)), activate(V1), activate(V2))
U34(tt, V1, V2) → U35(isNat(activate(V1)), activate(V2))
U35(tt, V2) → U36(isNat(activate(V2)))
U36(tt) → tt
U41(tt, V2) → U42(isNatKind(activate(V2)))
U42(tt) → tt
U51(tt) → tt
U61(tt, V2) → U62(isNatKind(activate(V2)))
U62(tt) → tt
U71(tt, N) → U72(isNatKind(activate(N)), activate(N))
U72(tt, N) → activate(N)
U81(tt, M, N) → U82(isNatKind(activate(M)), activate(M), activate(N))
U82(tt, M, N) → U83(isNat(activate(N)), activate(M), activate(N))
U83(tt, M, N) → U84(isNatKind(activate(N)), activate(M), activate(N))
U84(tt, M, N) → s(plus(activate(N), activate(M)))
U91(tt, N) → U92(isNatKind(activate(N)))
U92(tt) → 0
isNat(n__0) → tt
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNat(n__x(V1, V2)) → U31(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U41(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U51(isNatKind(activate(V1)))
isNatKind(n__x(V1, V2)) → U61(isNatKind(activate(V1)), activate(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)
0n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
x(X1, X2) → n__x(X1, X2)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(X1, X2)
activate(n__s(X)) → s(X)
activate(n__x(X1, X2)) → x(X1, X2)
activate(X) → X

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U1011(tt, M, N) → U1021(isNatKind(activate(M)), activate(M), activate(N))
U1011(tt, M, N) → ISNATKIND(activate(M))
U1011(tt, M, N) → ACTIVATE(M)
U1011(tt, M, N) → ACTIVATE(N)
U1021(tt, M, N) → U1031(isNat(activate(N)), activate(M), activate(N))
U1021(tt, M, N) → ISNAT(activate(N))
U1021(tt, M, N) → ACTIVATE(N)
U1021(tt, M, N) → ACTIVATE(M)
U1031(tt, M, N) → U1041(isNatKind(activate(N)), activate(M), activate(N))
U1031(tt, M, N) → ISNATKIND(activate(N))
U1031(tt, M, N) → ACTIVATE(N)
U1031(tt, M, N) → ACTIVATE(M)
U1041(tt, M, N) → PLUS(x(activate(N), activate(M)), activate(N))
U1041(tt, M, N) → X(activate(N), activate(M))
U1041(tt, M, N) → ACTIVATE(N)
U1041(tt, M, N) → ACTIVATE(M)
U111(tt, V1, V2) → U121(isNatKind(activate(V1)), activate(V1), activate(V2))
U111(tt, V1, V2) → ISNATKIND(activate(V1))
U111(tt, V1, V2) → ACTIVATE(V1)
U111(tt, V1, V2) → ACTIVATE(V2)
U121(tt, V1, V2) → U131(isNatKind(activate(V2)), activate(V1), activate(V2))
U121(tt, V1, V2) → ISNATKIND(activate(V2))
U121(tt, V1, V2) → ACTIVATE(V2)
U121(tt, V1, V2) → ACTIVATE(V1)
U131(tt, V1, V2) → U141(isNatKind(activate(V2)), activate(V1), activate(V2))
U131(tt, V1, V2) → ISNATKIND(activate(V2))
U131(tt, V1, V2) → ACTIVATE(V2)
U131(tt, V1, V2) → ACTIVATE(V1)
U141(tt, V1, V2) → U151(isNat(activate(V1)), activate(V2))
U141(tt, V1, V2) → ISNAT(activate(V1))
U141(tt, V1, V2) → ACTIVATE(V1)
U141(tt, V1, V2) → ACTIVATE(V2)
U151(tt, V2) → U161(isNat(activate(V2)))
U151(tt, V2) → ISNAT(activate(V2))
U151(tt, V2) → ACTIVATE(V2)
U211(tt, V1) → U221(isNatKind(activate(V1)), activate(V1))
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
U221(tt, V1) → U231(isNat(activate(V1)))
U221(tt, V1) → ISNAT(activate(V1))
U221(tt, V1) → ACTIVATE(V1)
U311(tt, V1, V2) → U321(isNatKind(activate(V1)), activate(V1), activate(V2))
U311(tt, V1, V2) → ISNATKIND(activate(V1))
U311(tt, V1, V2) → ACTIVATE(V1)
U311(tt, V1, V2) → ACTIVATE(V2)
U321(tt, V1, V2) → U331(isNatKind(activate(V2)), activate(V1), activate(V2))
U321(tt, V1, V2) → ISNATKIND(activate(V2))
U321(tt, V1, V2) → ACTIVATE(V2)
U321(tt, V1, V2) → ACTIVATE(V1)
U331(tt, V1, V2) → U341(isNatKind(activate(V2)), activate(V1), activate(V2))
U331(tt, V1, V2) → ISNATKIND(activate(V2))
U331(tt, V1, V2) → ACTIVATE(V2)
U331(tt, V1, V2) → ACTIVATE(V1)
U341(tt, V1, V2) → U351(isNat(activate(V1)), activate(V2))
U341(tt, V1, V2) → ISNAT(activate(V1))
U341(tt, V1, V2) → ACTIVATE(V1)
U341(tt, V1, V2) → ACTIVATE(V2)
U351(tt, V2) → U361(isNat(activate(V2)))
U351(tt, V2) → ISNAT(activate(V2))
U351(tt, V2) → ACTIVATE(V2)
U411(tt, V2) → U421(isNatKind(activate(V2)))
U411(tt, V2) → ISNATKIND(activate(V2))
U411(tt, V2) → ACTIVATE(V2)
U611(tt, V2) → U621(isNatKind(activate(V2)))
U611(tt, V2) → ISNATKIND(activate(V2))
U611(tt, V2) → ACTIVATE(V2)
U711(tt, N) → U721(isNatKind(activate(N)), activate(N))
U711(tt, N) → ISNATKIND(activate(N))
U711(tt, N) → ACTIVATE(N)
U721(tt, N) → ACTIVATE(N)
U811(tt, M, N) → U821(isNatKind(activate(M)), activate(M), activate(N))
U811(tt, M, N) → ISNATKIND(activate(M))
U811(tt, M, N) → ACTIVATE(M)
U811(tt, M, N) → ACTIVATE(N)
U821(tt, M, N) → U831(isNat(activate(N)), activate(M), activate(N))
U821(tt, M, N) → ISNAT(activate(N))
U821(tt, M, N) → ACTIVATE(N)
U821(tt, M, N) → ACTIVATE(M)
U831(tt, M, N) → U841(isNatKind(activate(N)), activate(M), activate(N))
U831(tt, M, N) → ISNATKIND(activate(N))
U831(tt, M, N) → ACTIVATE(N)
U831(tt, M, N) → ACTIVATE(M)
U841(tt, M, N) → S(plus(activate(N), activate(M)))
U841(tt, M, N) → PLUS(activate(N), activate(M))
U841(tt, M, N) → ACTIVATE(N)
U841(tt, M, N) → ACTIVATE(M)
U911(tt, N) → U921(isNatKind(activate(N)))
U911(tt, N) → ISNATKIND(activate(N))
U911(tt, N) → ACTIVATE(N)
U921(tt) → 01
ISNAT(n__plus(V1, V2)) → U111(isNatKind(activate(V1)), activate(V1), activate(V2))
ISNAT(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNAT(n__plus(V1, V2)) → ACTIVATE(V1)
ISNAT(n__plus(V1, V2)) → ACTIVATE(V2)
ISNAT(n__s(V1)) → U211(isNatKind(activate(V1)), activate(V1))
ISNAT(n__s(V1)) → ISNATKIND(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → U311(isNatKind(activate(V1)), activate(V1), activate(V2))
ISNAT(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNAT(n__x(V1, V2)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__plus(V1, V2)) → U411(isNatKind(activate(V1)), activate(V2))
ISNATKIND(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V1)
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__s(V1)) → U511(isNatKind(activate(V1)))
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → U611(isNatKind(activate(V1)), activate(V2))
ISNATKIND(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V2)
PLUS(N, 0) → U711(isNat(N), N)
PLUS(N, 0) → ISNAT(N)
PLUS(N, s(M)) → U811(isNat(M), M, N)
PLUS(N, s(M)) → ISNAT(M)
X(N, 0) → U911(isNat(N), N)
X(N, 0) → ISNAT(N)
X(N, s(M)) → U1011(isNat(M), M, N)
X(N, s(M)) → ISNAT(M)
ACTIVATE(n__0) → 01
ACTIVATE(n__plus(X1, X2)) → PLUS(X1, X2)
ACTIVATE(n__s(X)) → S(X)
ACTIVATE(n__x(X1, X2)) → X(X1, X2)

The TRS R consists of the following rules:

U101(tt, M, N) → U102(isNatKind(activate(M)), activate(M), activate(N))
U102(tt, M, N) → U103(isNat(activate(N)), activate(M), activate(N))
U103(tt, M, N) → U104(isNatKind(activate(N)), activate(M), activate(N))
U104(tt, M, N) → plus(x(activate(N), activate(M)), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U31(tt, V1, V2) → U32(isNatKind(activate(V1)), activate(V1), activate(V2))
U32(tt, V1, V2) → U33(isNatKind(activate(V2)), activate(V1), activate(V2))
U33(tt, V1, V2) → U34(isNatKind(activate(V2)), activate(V1), activate(V2))
U34(tt, V1, V2) → U35(isNat(activate(V1)), activate(V2))
U35(tt, V2) → U36(isNat(activate(V2)))
U36(tt) → tt
U41(tt, V2) → U42(isNatKind(activate(V2)))
U42(tt) → tt
U51(tt) → tt
U61(tt, V2) → U62(isNatKind(activate(V2)))
U62(tt) → tt
U71(tt, N) → U72(isNatKind(activate(N)), activate(N))
U72(tt, N) → activate(N)
U81(tt, M, N) → U82(isNatKind(activate(M)), activate(M), activate(N))
U82(tt, M, N) → U83(isNat(activate(N)), activate(M), activate(N))
U83(tt, M, N) → U84(isNatKind(activate(N)), activate(M), activate(N))
U84(tt, M, N) → s(plus(activate(N), activate(M)))
U91(tt, N) → U92(isNatKind(activate(N)))
U92(tt) → 0
isNat(n__0) → tt
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNat(n__x(V1, V2)) → U31(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U41(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U51(isNatKind(activate(V1)))
isNatKind(n__x(V1, V2)) → U61(isNatKind(activate(V1)), activate(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)
0n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
x(X1, X2) → n__x(X1, X2)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(X1, X2)
activate(n__s(X)) → s(X)
activate(n__x(X1, X2)) → x(X1, X2)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 11 less nodes.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U1021(tt, M, N) → U1031(isNat(activate(N)), activate(M), activate(N))
U1031(tt, M, N) → U1041(isNatKind(activate(N)), activate(M), activate(N))
U1041(tt, M, N) → PLUS(x(activate(N), activate(M)), activate(N))
PLUS(N, 0) → U711(isNat(N), N)
U711(tt, N) → U721(isNatKind(activate(N)), activate(N))
U721(tt, N) → ACTIVATE(N)
ACTIVATE(n__plus(X1, X2)) → PLUS(X1, X2)
PLUS(N, 0) → ISNAT(N)
ISNAT(n__plus(V1, V2)) → U111(isNatKind(activate(V1)), activate(V1), activate(V2))
U111(tt, V1, V2) → U121(isNatKind(activate(V1)), activate(V1), activate(V2))
U121(tt, V1, V2) → U131(isNatKind(activate(V2)), activate(V1), activate(V2))
U131(tt, V1, V2) → U141(isNatKind(activate(V2)), activate(V1), activate(V2))
U141(tt, V1, V2) → U151(isNat(activate(V1)), activate(V2))
U151(tt, V2) → ISNAT(activate(V2))
ISNAT(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → U411(isNatKind(activate(V1)), activate(V2))
U411(tt, V2) → ISNATKIND(activate(V2))
ISNATKIND(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__x(X1, X2)) → X(X1, X2)
X(N, 0) → U911(isNat(N), N)
U911(tt, N) → ISNATKIND(activate(N))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → U611(isNatKind(activate(V1)), activate(V2))
U611(tt, V2) → ISNATKIND(activate(V2))
ISNATKIND(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V2)
U611(tt, V2) → ACTIVATE(V2)
U911(tt, N) → ACTIVATE(N)
X(N, 0) → ISNAT(N)
ISNAT(n__plus(V1, V2)) → ACTIVATE(V1)
ISNAT(n__plus(V1, V2)) → ACTIVATE(V2)
ISNAT(n__s(V1)) → U211(isNatKind(activate(V1)), activate(V1))
U211(tt, V1) → U221(isNatKind(activate(V1)), activate(V1))
U221(tt, V1) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ISNATKIND(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → U311(isNatKind(activate(V1)), activate(V1), activate(V2))
U311(tt, V1, V2) → U321(isNatKind(activate(V1)), activate(V1), activate(V2))
U321(tt, V1, V2) → U331(isNatKind(activate(V2)), activate(V1), activate(V2))
U331(tt, V1, V2) → U341(isNatKind(activate(V2)), activate(V1), activate(V2))
U341(tt, V1, V2) → U351(isNat(activate(V1)), activate(V2))
U351(tt, V2) → ISNAT(activate(V2))
ISNAT(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNAT(n__x(V1, V2)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → ACTIVATE(V2)
U351(tt, V2) → ACTIVATE(V2)
U341(tt, V1, V2) → ISNAT(activate(V1))
U341(tt, V1, V2) → ACTIVATE(V1)
U341(tt, V1, V2) → ACTIVATE(V2)
U331(tt, V1, V2) → ISNATKIND(activate(V2))
U331(tt, V1, V2) → ACTIVATE(V2)
U331(tt, V1, V2) → ACTIVATE(V1)
U321(tt, V1, V2) → ISNATKIND(activate(V2))
U321(tt, V1, V2) → ACTIVATE(V2)
U321(tt, V1, V2) → ACTIVATE(V1)
U311(tt, V1, V2) → ISNATKIND(activate(V1))
U311(tt, V1, V2) → ACTIVATE(V1)
U311(tt, V1, V2) → ACTIVATE(V2)
U221(tt, V1) → ACTIVATE(V1)
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
X(N, s(M)) → U1011(isNat(M), M, N)
U1011(tt, M, N) → U1021(isNatKind(activate(M)), activate(M), activate(N))
U1021(tt, M, N) → ISNAT(activate(N))
U1021(tt, M, N) → ACTIVATE(N)
U1021(tt, M, N) → ACTIVATE(M)
U1011(tt, M, N) → ISNATKIND(activate(M))
U1011(tt, M, N) → ACTIVATE(M)
U1011(tt, M, N) → ACTIVATE(N)
X(N, s(M)) → ISNAT(M)
U411(tt, V2) → ACTIVATE(V2)
U151(tt, V2) → ACTIVATE(V2)
U141(tt, V1, V2) → ISNAT(activate(V1))
U141(tt, V1, V2) → ACTIVATE(V1)
U141(tt, V1, V2) → ACTIVATE(V2)
U131(tt, V1, V2) → ISNATKIND(activate(V2))
U131(tt, V1, V2) → ACTIVATE(V2)
U131(tt, V1, V2) → ACTIVATE(V1)
U121(tt, V1, V2) → ISNATKIND(activate(V2))
U121(tt, V1, V2) → ACTIVATE(V2)
U121(tt, V1, V2) → ACTIVATE(V1)
U111(tt, V1, V2) → ISNATKIND(activate(V1))
U111(tt, V1, V2) → ACTIVATE(V1)
U111(tt, V1, V2) → ACTIVATE(V2)
PLUS(N, s(M)) → U811(isNat(M), M, N)
U811(tt, M, N) → U821(isNatKind(activate(M)), activate(M), activate(N))
U821(tt, M, N) → U831(isNat(activate(N)), activate(M), activate(N))
U831(tt, M, N) → U841(isNatKind(activate(N)), activate(M), activate(N))
U841(tt, M, N) → PLUS(activate(N), activate(M))
PLUS(N, s(M)) → ISNAT(M)
U841(tt, M, N) → ACTIVATE(N)
U841(tt, M, N) → ACTIVATE(M)
U831(tt, M, N) → ISNATKIND(activate(N))
U831(tt, M, N) → ACTIVATE(N)
U831(tt, M, N) → ACTIVATE(M)
U821(tt, M, N) → ISNAT(activate(N))
U821(tt, M, N) → ACTIVATE(N)
U821(tt, M, N) → ACTIVATE(M)
U811(tt, M, N) → ISNATKIND(activate(M))
U811(tt, M, N) → ACTIVATE(M)
U811(tt, M, N) → ACTIVATE(N)
U711(tt, N) → ISNATKIND(activate(N))
U711(tt, N) → ACTIVATE(N)
U1041(tt, M, N) → X(activate(N), activate(M))
U1041(tt, M, N) → ACTIVATE(N)
U1041(tt, M, N) → ACTIVATE(M)
U1031(tt, M, N) → ISNATKIND(activate(N))
U1031(tt, M, N) → ACTIVATE(N)
U1031(tt, M, N) → ACTIVATE(M)

The TRS R consists of the following rules:

U101(tt, M, N) → U102(isNatKind(activate(M)), activate(M), activate(N))
U102(tt, M, N) → U103(isNat(activate(N)), activate(M), activate(N))
U103(tt, M, N) → U104(isNatKind(activate(N)), activate(M), activate(N))
U104(tt, M, N) → plus(x(activate(N), activate(M)), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U31(tt, V1, V2) → U32(isNatKind(activate(V1)), activate(V1), activate(V2))
U32(tt, V1, V2) → U33(isNatKind(activate(V2)), activate(V1), activate(V2))
U33(tt, V1, V2) → U34(isNatKind(activate(V2)), activate(V1), activate(V2))
U34(tt, V1, V2) → U35(isNat(activate(V1)), activate(V2))
U35(tt, V2) → U36(isNat(activate(V2)))
U36(tt) → tt
U41(tt, V2) → U42(isNatKind(activate(V2)))
U42(tt) → tt
U51(tt) → tt
U61(tt, V2) → U62(isNatKind(activate(V2)))
U62(tt) → tt
U71(tt, N) → U72(isNatKind(activate(N)), activate(N))
U72(tt, N) → activate(N)
U81(tt, M, N) → U82(isNatKind(activate(M)), activate(M), activate(N))
U82(tt, M, N) → U83(isNat(activate(N)), activate(M), activate(N))
U83(tt, M, N) → U84(isNatKind(activate(N)), activate(M), activate(N))
U84(tt, M, N) → s(plus(activate(N), activate(M)))
U91(tt, N) → U92(isNatKind(activate(N)))
U92(tt) → 0
isNat(n__0) → tt
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNat(n__x(V1, V2)) → U31(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U41(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U51(isNatKind(activate(V1)))
isNatKind(n__x(V1, V2)) → U61(isNatKind(activate(V1)), activate(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)
0n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
x(X1, X2) → n__x(X1, X2)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(X1, X2)
activate(n__s(X)) → s(X)
activate(n__x(X1, X2)) → x(X1, X2)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(5) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U1041(tt, M, N) → PLUS(x(activate(N), activate(M)), activate(N))
PLUS(N, 0) → U711(isNat(N), N)
U721(tt, N) → ACTIVATE(N)
ACTIVATE(n__plus(X1, X2)) → PLUS(X1, X2)
PLUS(N, 0) → ISNAT(N)
ISNAT(n__plus(V1, V2)) → U111(isNatKind(activate(V1)), activate(V1), activate(V2))
U141(tt, V1, V2) → U151(isNat(activate(V1)), activate(V2))
ISNAT(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → U411(isNatKind(activate(V1)), activate(V2))
U411(tt, V2) → ISNATKIND(activate(V2))
ISNATKIND(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__x(X1, X2)) → X(X1, X2)
U911(tt, N) → ISNATKIND(activate(N))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → U611(isNatKind(activate(V1)), activate(V2))
ISNATKIND(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V1)
ISNATKIND(n__x(V1, V2)) → ACTIVATE(V2)
U611(tt, V2) → ACTIVATE(V2)
U911(tt, N) → ACTIVATE(N)
X(N, 0) → ISNAT(N)
ISNAT(n__plus(V1, V2)) → ACTIVATE(V1)
ISNAT(n__plus(V1, V2)) → ACTIVATE(V2)
ISNAT(n__s(V1)) → U211(isNatKind(activate(V1)), activate(V1))
U211(tt, V1) → U221(isNatKind(activate(V1)), activate(V1))
U221(tt, V1) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → ISNATKIND(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → U311(isNatKind(activate(V1)), activate(V1), activate(V2))
U321(tt, V1, V2) → U331(isNatKind(activate(V2)), activate(V1), activate(V2))
U341(tt, V1, V2) → U351(isNat(activate(V1)), activate(V2))
ISNAT(n__x(V1, V2)) → ISNATKIND(activate(V1))
ISNAT(n__x(V1, V2)) → ACTIVATE(V1)
ISNAT(n__x(V1, V2)) → ACTIVATE(V2)
U351(tt, V2) → ACTIVATE(V2)
U341(tt, V1, V2) → ISNAT(activate(V1))
U341(tt, V1, V2) → ACTIVATE(V1)
U341(tt, V1, V2) → ACTIVATE(V2)
U331(tt, V1, V2) → ISNATKIND(activate(V2))
U331(tt, V1, V2) → ACTIVATE(V2)
U331(tt, V1, V2) → ACTIVATE(V1)
U321(tt, V1, V2) → ISNATKIND(activate(V2))
U321(tt, V1, V2) → ACTIVATE(V2)
U321(tt, V1, V2) → ACTIVATE(V1)
U311(tt, V1, V2) → ISNATKIND(activate(V1))
U311(tt, V1, V2) → ACTIVATE(V1)
U311(tt, V1, V2) → ACTIVATE(V2)
U221(tt, V1) → ACTIVATE(V1)
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
X(N, s(M)) → U1011(isNat(M), M, N)
U1021(tt, M, N) → ISNAT(activate(N))
U1021(tt, M, N) → ACTIVATE(N)
U1021(tt, M, N) → ACTIVATE(M)
U1011(tt, M, N) → ISNATKIND(activate(M))
U1011(tt, M, N) → ACTIVATE(M)
U1011(tt, M, N) → ACTIVATE(N)
X(N, s(M)) → ISNAT(M)
U411(tt, V2) → ACTIVATE(V2)
U151(tt, V2) → ACTIVATE(V2)
U141(tt, V1, V2) → ISNAT(activate(V1))
U141(tt, V1, V2) → ACTIVATE(V1)
U141(tt, V1, V2) → ACTIVATE(V2)
U131(tt, V1, V2) → ISNATKIND(activate(V2))
U131(tt, V1, V2) → ACTIVATE(V2)
U131(tt, V1, V2) → ACTIVATE(V1)
U121(tt, V1, V2) → ISNATKIND(activate(V2))
U121(tt, V1, V2) → ACTIVATE(V2)
U121(tt, V1, V2) → ACTIVATE(V1)
U111(tt, V1, V2) → ISNATKIND(activate(V1))
U111(tt, V1, V2) → ACTIVATE(V1)
U111(tt, V1, V2) → ACTIVATE(V2)
PLUS(N, s(M)) → U811(isNat(M), M, N)
PLUS(N, s(M)) → ISNAT(M)
U841(tt, M, N) → ACTIVATE(N)
U841(tt, M, N) → ACTIVATE(M)
U831(tt, M, N) → ISNATKIND(activate(N))
U831(tt, M, N) → ACTIVATE(N)
U831(tt, M, N) → ACTIVATE(M)
U821(tt, M, N) → ISNAT(activate(N))
U821(tt, M, N) → ACTIVATE(N)
U821(tt, M, N) → ACTIVATE(M)
U811(tt, M, N) → ISNATKIND(activate(M))
U811(tt, M, N) → ACTIVATE(M)
U811(tt, M, N) → ACTIVATE(N)
U711(tt, N) → ACTIVATE(N)
U1041(tt, M, N) → X(activate(N), activate(M))
U1041(tt, M, N) → ACTIVATE(N)
U1041(tt, M, N) → ACTIVATE(M)
U1031(tt, M, N) → ISNATKIND(activate(N))
U1031(tt, M, N) → ACTIVATE(N)
U1031(tt, M, N) → ACTIVATE(M)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U1021(x1, x2, x3)  =  U1021(x1, x2, x3)
tt  =  tt
U1031(x1, x2, x3)  =  U1031(x1, x2, x3)
isNat(x1)  =  isNat
activate(x1)  =  x1
U1041(x1, x2, x3)  =  U1041(x1, x2, x3)
isNatKind(x1)  =  isNatKind
PLUS(x1, x2)  =  PLUS(x1, x2)
x(x1, x2)  =  x(x1, x2)
0  =  0
U711(x1, x2)  =  U711(x2)
U721(x1, x2)  =  U721(x2)
ACTIVATE(x1)  =  ACTIVATE(x1)
n__plus(x1, x2)  =  n__plus(x1, x2)
ISNAT(x1)  =  ISNAT(x1)
U111(x1, x2, x3)  =  U111(x2, x3)
U121(x1, x2, x3)  =  U121(x2, x3)
U131(x1, x2, x3)  =  U131(x2, x3)
U141(x1, x2, x3)  =  U141(x2, x3)
U151(x1, x2)  =  U151(x2)
ISNATKIND(x1)  =  ISNATKIND(x1)
U411(x1, x2)  =  U411(x2)
n__x(x1, x2)  =  n__x(x1, x2)
X(x1, x2)  =  X(x1, x2)
U911(x1, x2)  =  U911(x1, x2)
n__s(x1)  =  n__s(x1)
U611(x1, x2)  =  U611(x2)
U211(x1, x2)  =  U211(x2)
U221(x1, x2)  =  U221(x2)
U311(x1, x2, x3)  =  U311(x1, x2, x3)
U321(x1, x2, x3)  =  U321(x1, x2, x3)
U331(x1, x2, x3)  =  U331(x1, x2, x3)
U341(x1, x2, x3)  =  U341(x1, x2, x3)
U351(x1, x2)  =  U351(x2)
s(x1)  =  s(x1)
U1011(x1, x2, x3)  =  U1011(x1, x2, x3)
U811(x1, x2, x3)  =  U811(x2, x3)
U821(x1, x2, x3)  =  U821(x2, x3)
U831(x1, x2, x3)  =  U831(x2, x3)
U841(x1, x2, x3)  =  U841(x2, x3)
U101(x1, x2, x3)  =  U101(x1, x2, x3)
U102(x1, x2, x3)  =  U102(x1, x2, x3)
U103(x1, x2, x3)  =  U103(x1, x2, x3)
U104(x1, x2, x3)  =  U104(x1, x2, x3)
plus(x1, x2)  =  plus(x1, x2)
U11(x1, x2, x3)  =  x1
U12(x1, x2, x3)  =  U12
U13(x1, x2, x3)  =  U13
U14(x1, x2, x3)  =  x1
U15(x1, x2)  =  x1
U16(x1)  =  U16
U21(x1, x2)  =  x1
U22(x1, x2)  =  U22
U23(x1)  =  U23
U31(x1, x2, x3)  =  x1
U32(x1, x2, x3)  =  U32
U33(x1, x2, x3)  =  U33
U34(x1, x2, x3)  =  U34
U35(x1, x2)  =  U35
U36(x1)  =  U36
U41(x1, x2)  =  x1
U42(x1)  =  U42
U51(x1)  =  x1
U61(x1, x2)  =  U61
U62(x1)  =  x1
U71(x1, x2)  =  x2
U72(x1, x2)  =  x2
U81(x1, x2, x3)  =  U81(x1, x2, x3)
U82(x1, x2, x3)  =  U82(x1, x2, x3)
U83(x1, x2, x3)  =  U83(x1, x2, x3)
U84(x1, x2, x3)  =  U84(x1, x2, x3)
U91(x1, x2)  =  U91(x2)
U92(x1)  =  U92
n__0  =  n__0

Lexicographic path order with status [LPO].
Quasi-Precedence:
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [nplus2, U41^11, plus2, U813, U823, U833, U843] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U11^12, U12^12, U13^12, U14^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [nplus2, U41^11, plus2, U813, U823, U833, U843] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > [PLUS2, U81^12, U82^12, U83^12, U84^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [nplus2, U41^11, plus2, U813, U823, U833, U843] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > U21^11 > U22^11 > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [nplus2, U41^11, plus2, U813, U823, U833, U843] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U33^13, U34^13] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [U31^13, U32^13] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U11^12, U12^12, U13^12, U14^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [U31^13, U32^13] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > [PLUS2, U81^12, U82^12, U83^12, U84^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [U31^13, U32^13] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > U21^11 > U22^11 > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > [U31^13, U32^13] > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U33^13, U34^13] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > U911 > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U11^12, U12^12, U13^12, U14^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > U911 > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > [PLUS2, U81^12, U82^12, U83^12, U84^12] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > U911 > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [ns1, s1] > U21^11 > U22^11 > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1
[U102^13, U103^13, U104^13, x2, nx2, X2, U91^12, U101^13, U1013, U1023, U1033, U1043] > U911 > [tt, isNat, isNatKind, 0, U12, U13, U16, U22, U23, U32, U33, U34, U35, U36, U42, U61, U92, n0] > [U33^13, U34^13] > [ISNAT1, U15^11, U35^11] > [U71^11, U72^11, ISNATKIND1, U61^11] > ACTIVATE1

Status:
U102^13: [2,3,1]
tt: []
U103^13: [2,3,1]
isNat: []
U104^13: [2,3,1]
isNatKind: []
PLUS2: [1,2]
x2: [2,1]
0: []
U71^11: [1]
U72^11: [1]
ACTIVATE1: [1]
nplus2: [2,1]
ISNAT1: [1]
U11^12: [1,2]
U12^12: [1,2]
U13^12: [1,2]
U14^12: [1,2]
U15^11: [1]
ISNATKIND1: [1]
U41^11: [1]
nx2: [2,1]
X2: [2,1]
U91^12: [1,2]
ns1: [1]
U61^11: [1]
U21^11: [1]
U22^11: [1]
U31^13: [1,2,3]
U32^13: [1,2,3]
U33^13: [1,2,3]
U34^13: [1,2,3]
U35^11: [1]
s1: [1]
U101^13: [2,3,1]
U81^12: [2,1]
U82^12: [2,1]
U83^12: [2,1]
U84^12: [2,1]
U1013: [2,3,1]
U1023: [2,3,1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [2,1]
U12: []
U13: []
U16: []
U22: []
U23: []
U32: []
U33: []
U34: []
U35: []
U36: []
U42: []
U61: []
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
U911: [1]
U92: []
n0: []


The following usable rules [FROCOS05] were oriented:

U101(tt, M, N) → U102(isNatKind(activate(M)), activate(M), activate(N))
U102(tt, M, N) → U103(isNat(activate(N)), activate(M), activate(N))
U103(tt, M, N) → U104(isNatKind(activate(N)), activate(M), activate(N))
U104(tt, M, N) → plus(x(activate(N), activate(M)), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U31(tt, V1, V2) → U32(isNatKind(activate(V1)), activate(V1), activate(V2))
U32(tt, V1, V2) → U33(isNatKind(activate(V2)), activate(V1), activate(V2))
U33(tt, V1, V2) → U34(isNatKind(activate(V2)), activate(V1), activate(V2))
U34(tt, V1, V2) → U35(isNat(activate(V1)), activate(V2))
U35(tt, V2) → U36(isNat(activate(V2)))
U36(tt) → tt
U41(tt, V2) → U42(isNatKind(activate(V2)))
U42(tt) → tt
U51(tt) → tt
U61(tt, V2) → U62(isNatKind(activate(V2)))
U62(tt) → tt
U71(tt, N) → U72(isNatKind(activate(N)), activate(N))
U72(tt, N) → activate(N)
U81(tt, M, N) → U82(isNatKind(activate(M)), activate(M), activate(N))
U82(tt, M, N) → U83(isNat(activate(N)), activate(M), activate(N))
U83(tt, M, N) → U84(isNatKind(activate(N)), activate(M), activate(N))
U84(tt, M, N) → s(plus(activate(N), activate(M)))
U91(tt, N) → U92(isNatKind(activate(N)))
U92(tt) → 0
isNat(n__0) → tt
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNat(n__x(V1, V2)) → U31(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U41(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U51(isNatKind(activate(V1)))
isNatKind(n__x(V1, V2)) → U61(isNatKind(activate(V1)), activate(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)
0n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
x(X1, X2) → n__x(X1, X2)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(X1, X2)
activate(n__s(X)) → s(X)
activate(n__x(X1, X2)) → x(X1, X2)
activate(X) → X

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U1021(tt, M, N) → U1031(isNat(activate(N)), activate(M), activate(N))
U1031(tt, M, N) → U1041(isNatKind(activate(N)), activate(M), activate(N))
U711(tt, N) → U721(isNatKind(activate(N)), activate(N))
U111(tt, V1, V2) → U121(isNatKind(activate(V1)), activate(V1), activate(V2))
U121(tt, V1, V2) → U131(isNatKind(activate(V2)), activate(V1), activate(V2))
U131(tt, V1, V2) → U141(isNatKind(activate(V2)), activate(V1), activate(V2))
U151(tt, V2) → ISNAT(activate(V2))
X(N, 0) → U911(isNat(N), N)
U611(tt, V2) → ISNATKIND(activate(V2))
U311(tt, V1, V2) → U321(isNatKind(activate(V1)), activate(V1), activate(V2))
U331(tt, V1, V2) → U341(isNatKind(activate(V2)), activate(V1), activate(V2))
U351(tt, V2) → ISNAT(activate(V2))
U1011(tt, M, N) → U1021(isNatKind(activate(M)), activate(M), activate(N))
U811(tt, M, N) → U821(isNatKind(activate(M)), activate(M), activate(N))
U821(tt, M, N) → U831(isNat(activate(N)), activate(M), activate(N))
U831(tt, M, N) → U841(isNatKind(activate(N)), activate(M), activate(N))
U841(tt, M, N) → PLUS(activate(N), activate(M))
U711(tt, N) → ISNATKIND(activate(N))

The TRS R consists of the following rules:

U101(tt, M, N) → U102(isNatKind(activate(M)), activate(M), activate(N))
U102(tt, M, N) → U103(isNat(activate(N)), activate(M), activate(N))
U103(tt, M, N) → U104(isNatKind(activate(N)), activate(M), activate(N))
U104(tt, M, N) → plus(x(activate(N), activate(M)), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U31(tt, V1, V2) → U32(isNatKind(activate(V1)), activate(V1), activate(V2))
U32(tt, V1, V2) → U33(isNatKind(activate(V2)), activate(V1), activate(V2))
U33(tt, V1, V2) → U34(isNatKind(activate(V2)), activate(V1), activate(V2))
U34(tt, V1, V2) → U35(isNat(activate(V1)), activate(V2))
U35(tt, V2) → U36(isNat(activate(V2)))
U36(tt) → tt
U41(tt, V2) → U42(isNatKind(activate(V2)))
U42(tt) → tt
U51(tt) → tt
U61(tt, V2) → U62(isNatKind(activate(V2)))
U62(tt) → tt
U71(tt, N) → U72(isNatKind(activate(N)), activate(N))
U72(tt, N) → activate(N)
U81(tt, M, N) → U82(isNatKind(activate(M)), activate(M), activate(N))
U82(tt, M, N) → U83(isNat(activate(N)), activate(M), activate(N))
U83(tt, M, N) → U84(isNatKind(activate(N)), activate(M), activate(N))
U84(tt, M, N) → s(plus(activate(N), activate(M)))
U91(tt, N) → U92(isNatKind(activate(N)))
U92(tt) → 0
isNat(n__0) → tt
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNat(n__x(V1, V2)) → U31(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U41(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U51(isNatKind(activate(V1)))
isNatKind(n__x(V1, V2)) → U61(isNatKind(activate(V1)), activate(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)
0n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
x(X1, X2) → n__x(X1, X2)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(X1, X2)
activate(n__s(X)) → s(X)
activate(n__x(X1, X2)) → x(X1, X2)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 18 less nodes.

(8) TRUE