0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 DependencyGraphProof (⇔)
↳8 AND
↳9 QDP
↳10 QDPOrderProof (⇔)
↳11 QDP
↳12 DependencyGraphProof (⇔)
↳13 TRUE
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 DependencyGraphProof (⇔)
↳18 TRUE
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 PisEmptyProof (⇔)
↳23 TRUE
↳24 QDP
↳25 QDPOrderProof (⇔)
↳26 QDP
↳27 PisEmptyProof (⇔)
↳28 TRUE
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
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, V2) → U321(isNatKind(activate(V2)))
U311(tt, V2) → ISNATKIND(activate(V2))
U311(tt, V2) → ACTIVATE(V2)
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
U511(tt, N) → ISNATKIND(activate(N))
U511(tt, N) → ACTIVATE(N)
U521(tt, N) → ACTIVATE(N)
U611(tt, M, N) → U621(isNatKind(activate(M)), activate(M), activate(N))
U611(tt, M, N) → ISNATKIND(activate(M))
U611(tt, M, N) → ACTIVATE(M)
U611(tt, M, N) → ACTIVATE(N)
U621(tt, M, N) → U631(isNat(activate(N)), activate(M), activate(N))
U621(tt, M, N) → ISNAT(activate(N))
U621(tt, M, N) → ACTIVATE(N)
U621(tt, M, N) → ACTIVATE(M)
U631(tt, M, N) → U641(isNatKind(activate(N)), activate(M), activate(N))
U631(tt, M, N) → ISNATKIND(activate(N))
U631(tt, M, N) → ACTIVATE(N)
U631(tt, M, N) → ACTIVATE(M)
U641(tt, M, N) → S(plus(activate(N), activate(M)))
U641(tt, M, N) → PLUS(activate(N), activate(M))
U641(tt, M, N) → ACTIVATE(N)
U641(tt, M, N) → ACTIVATE(M)
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)
ISNATKIND(n__plus(V1, V2)) → U311(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)) → U411(isNatKind(activate(V1)))
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
PLUS(N, 0) → U511(isNat(N), N)
PLUS(N, 0) → ISNAT(N)
PLUS(N, s(M)) → U611(isNat(M), M, N)
PLUS(N, s(M)) → ISNAT(M)
ACTIVATE(n__0) → 01
ACTIVATE(n__plus(X1, X2)) → PLUS(activate(X1), activate(X2))
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
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)) → U111(isNatKind(activate(V1)), activate(V1), activate(V2))
U111(tt, V1, V2) → U121(isNatKind(activate(V1)), activate(V1), activate(V2))
U121(tt, V1, V2) → ISNATKIND(activate(V2))
ISNATKIND(n__plus(V1, V2)) → U311(isNatKind(activate(V1)), activate(V2))
U311(tt, V2) → ISNATKIND(activate(V2))
ISNATKIND(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__plus(X1, X2)) → PLUS(activate(X1), activate(X2))
PLUS(N, 0) → U511(isNat(N), N)
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
U521(tt, N) → ACTIVATE(N)
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__s(X)) → ACTIVATE(X)
U511(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)
U511(tt, N) → ACTIVATE(N)
PLUS(N, 0) → ISNAT(N)
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))
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)
U221(tt, V1) → ACTIVATE(V1)
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
PLUS(N, s(M)) → U611(isNat(M), M, N)
U611(tt, M, N) → U621(isNatKind(activate(M)), activate(M), activate(N))
U621(tt, M, N) → U631(isNat(activate(N)), activate(M), activate(N))
U631(tt, M, N) → U641(isNatKind(activate(N)), activate(M), activate(N))
U641(tt, M, N) → PLUS(activate(N), activate(M))
PLUS(N, s(M)) → ISNAT(M)
U641(tt, M, N) → ACTIVATE(N)
U641(tt, M, N) → ACTIVATE(M)
U631(tt, M, N) → ISNATKIND(activate(N))
U631(tt, M, N) → ACTIVATE(N)
U631(tt, M, N) → ACTIVATE(M)
U621(tt, M, N) → ISNAT(activate(N))
U621(tt, M, N) → ACTIVATE(N)
U621(tt, M, N) → ACTIVATE(M)
U611(tt, M, N) → ISNATKIND(activate(M))
U611(tt, M, N) → ACTIVATE(M)
U611(tt, M, N) → ACTIVATE(N)
U311(tt, V2) → 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)
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)
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U141(tt, V1, V2) → U151(isNat(activate(V1)), activate(V2))
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) → ISNATKIND(activate(V2))
ISNATKIND(n__plus(V1, V2)) → U311(isNatKind(activate(V1)), activate(V2))
ISNATKIND(n__plus(V1, V2)) → ISNATKIND(activate(V1))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V1)
ACTIVATE(n__plus(X1, X2)) → PLUS(activate(X1), activate(X2))
PLUS(N, 0) → U511(isNat(N), N)
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__plus(X1, X2)) → ACTIVATE(X2)
U511(tt, N) → ISNATKIND(activate(N))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
U511(tt, N) → ACTIVATE(N)
PLUS(N, 0) → ISNAT(N)
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)) → ISNATKIND(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
U221(tt, V1) → ACTIVATE(V1)
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
PLUS(N, s(M)) → ISNAT(M)
U641(tt, M, N) → ACTIVATE(N)
U641(tt, M, N) → ACTIVATE(M)
U631(tt, M, N) → ISNATKIND(activate(N))
U631(tt, M, N) → ACTIVATE(N)
U631(tt, M, N) → ACTIVATE(M)
U621(tt, M, N) → ISNAT(activate(N))
U621(tt, M, N) → ACTIVATE(N)
U621(tt, M, N) → ACTIVATE(M)
U611(tt, M, N) → ISNATKIND(activate(M))
U611(tt, M, N) → ACTIVATE(M)
U611(tt, M, N) → ACTIVATE(N)
U311(tt, V2) → 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)
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)
[nplus2, plus2, U612, U622, U632, U642] > U11^12 > [U12^12, U13^12, U14^12] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [tt, isNat1, U12, U13, U23, U14, U15, U16] > U212 > isNatKind1
[nplus2, plus2, U612, U622, U632, U642] > U11^12 > [U12^12, U13^12, U14^12] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [tt, isNat1, U12, U13, U23, U14, U15, U16] > U212 > U222
[nplus2, plus2, U612, U622, U632, U642] > U11^12 > [U12^12, U13^12, U14^12] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [ISNATKIND1, U31^11, U51^12] > isNatKind1
[nplus2, plus2, U612, U622, U632, U642] > U312 > isNatKind1
[0, n0] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [tt, isNat1, U12, U13, U23, U14, U15, U16] > U212 > isNatKind1
[0, n0] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [tt, isNat1, U12, U13, U23, U14, U15, U16] > U212 > U222
[0, n0] > [U15^11, ISNAT1, PLUS2, U21^11, U22^11, U61^12, U62^12, U63^12, U64^12] > [ISNATKIND1, U31^11, U51^12] > isNatKind1
U12^12: [1,2]
tt: multiset
U13^12: [1,2]
isNatKind1: [1]
U14^12: [1,2]
U15^11: multiset
isNat1: [1]
ISNAT1: multiset
nplus2: [1,2]
U11^12: multiset
ISNATKIND1: [1]
U31^11: [1]
PLUS2: multiset
0: multiset
U51^12: [2,1]
U21^11: multiset
U22^11: multiset
U61^12: multiset
U62^12: multiset
U63^12: multiset
U64^12: multiset
n0: multiset
plus2: [1,2]
U312: multiset
U212: multiset
U612: [2,1]
U12: multiset
U222: multiset
U622: [2,1]
U13: multiset
U23: multiset
U632: [2,1]
U14: multiset
U642: [2,1]
U15: multiset
U16: multiset
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(activate(X))
activate(X) → X
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
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))
plus(N, s(M)) → U61(isNat(M), M, N)
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U31(tt, V2) → U32(isNatKind(activate(V2)))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U22(tt, V1) → U23(isNat(activate(V1)))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
U15(tt, V2) → U16(isNat(activate(V2)))
s(X) → n__s(X)
plus(X1, X2) → n__plus(X1, X2)
U41(tt) → tt
U32(tt) → tt
U23(tt) → tt
U16(tt) → tt
0 → n__0
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))
U311(tt, V2) → ISNATKIND(activate(V2))
U521(tt, N) → ACTIVATE(N)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
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))
PLUS(N, s(M)) → U611(isNat(M), M, N)
U611(tt, M, N) → U621(isNatKind(activate(M)), activate(M), activate(N))
U621(tt, M, N) → U631(isNat(activate(N)), activate(M), activate(N))
U631(tt, M, N) → U641(isNatKind(activate(N)), activate(M), activate(N))
U641(tt, M, N) → PLUS(activate(N), activate(M))
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
U611(tt, M, N) → U621(isNatKind(activate(M)), activate(M), activate(N))
U621(tt, M, N) → U631(isNat(activate(N)), activate(M), activate(N))
U631(tt, M, N) → U641(isNatKind(activate(N)), activate(M), activate(N))
U641(tt, M, N) → PLUS(activate(N), activate(M))
PLUS(N, s(M)) → U611(isNat(M), M, 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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(N, s(M)) → U611(isNat(M), M, N)
[n0, 0] > [U61^12, tt, U62^12, isNatKind, U63^12, isNat, U64^12, PLUS2, U41, U11, U21, U12, U16]
[nplus2, plus2, U613, U623, U633, U643] > [s1, ns1] > [U61^12, tt, U62^12, isNatKind, U63^12, isNat, U64^12, PLUS2, U41, U11, U21, U12, U16]
U61^12: [2,1]
tt: multiset
U62^12: [2,1]
isNatKind: []
U63^12: [2,1]
isNat: []
U64^12: [2,1]
PLUS2: [1,2]
s1: [1]
n0: multiset
0: multiset
nplus2: [1,2]
plus2: [1,2]
ns1: [1]
U41: []
U11: []
U21: []
U613: [3,2,1]
U12: []
U623: [3,2,1]
U633: [3,2,1]
U643: [3,2,1]
U16: []
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(activate(X))
activate(X) → X
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
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))
plus(N, s(M)) → U61(isNat(M), M, N)
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U31(tt, V2) → U32(isNatKind(activate(V2)))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U22(tt, V1) → U23(isNat(activate(V1)))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
U15(tt, V2) → U16(isNat(activate(V2)))
s(X) → n__s(X)
plus(X1, X2) → n__plus(X1, X2)
U41(tt) → tt
U32(tt) → tt
U23(tt) → tt
U16(tt) → tt
0 → n__0
U611(tt, M, N) → U621(isNatKind(activate(M)), activate(M), activate(N))
U621(tt, M, N) → U631(isNat(activate(N)), activate(M), activate(N))
U631(tt, M, N) → U641(isNatKind(activate(N)), activate(M), activate(N))
U641(tt, M, N) → PLUS(activate(N), activate(M))
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
U211(tt, V1) → U221(isNatKind(activate(V1)), activate(V1))
U221(tt, V1) → ISNAT(activate(V1))
ISNAT(n__s(V1)) → U211(isNatKind(activate(V1)), activate(V1))
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(tt, V1) → U221(isNatKind(activate(V1)), activate(V1))
ISNAT(n__s(V1)) → U211(isNatKind(activate(V1)), activate(V1))
[U21^12, U22^11, ISNAT1] > [tt, isNatKind, isNat, U11, U21, U32, U12, U22, U13, U23, U14, U15, U16] > U522
[n0, 0] > [tt, isNatKind, isNat, U11, U21, U32, U12, U22, U13, U23, U14, U15, U16] > U522
[nplus2, plus2, U613, U623, U633, U643] > [ns1, s1] > [tt, isNatKind, isNat, U11, U21, U32, U12, U22, U13, U23, U14, U15, U16] > U522
[nplus2, plus2, U613, U623, U633, U643] > U511 > [tt, isNatKind, isNat, U11, U21, U32, U12, U22, U13, U23, U14, U15, U16] > U522
U21^12: multiset
tt: multiset
U22^11: multiset
isNatKind: multiset
ISNAT1: multiset
ns1: [1]
n0: multiset
0: multiset
U522: multiset
nplus2: multiset
plus2: multiset
U511: multiset
isNat: multiset
s1: [1]
U613: multiset
U11: multiset
U21: multiset
U32: multiset
U623: multiset
U12: multiset
U22: multiset
U633: multiset
U13: multiset
U23: multiset
U643: multiset
U14: multiset
U15: multiset
U16: multiset
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(activate(X))
activate(X) → X
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, s(M)) → U61(isNat(M), M, N)
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
U31(tt, V2) → U32(isNatKind(activate(V2)))
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U22(tt, V1) → U23(isNat(activate(V1)))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
s(X) → n__s(X)
plus(X1, X2) → n__plus(X1, X2)
isNat(n__0) → tt
U41(tt) → tt
U32(tt) → tt
U23(tt) → tt
U16(tt) → tt
0 → n__0
U221(tt, V1) → ISNAT(activate(V1))
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
[n0, 0] > [tt, nplus2, plus2, isNat, isNatKind, U613, U623, U633, U13, U643] > [ns1, U522, U512, s1]
ns1: multiset
n0: multiset
0: multiset
U522: multiset
tt: multiset
nplus2: [2,1]
plus2: [2,1]
U512: multiset
isNat: []
isNatKind: []
s1: multiset
U613: [2,3,1]
U623: [2,3,1]
U633: [2,3,1]
U13: []
U643: [2,3,1]
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(activate(X))
activate(X) → X
plus(N, s(M)) → U61(isNat(M), M, N)
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U11(tt, V1, V2) → U12(isNatKind(activate(V1)), activate(V1), activate(V2))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U31(tt, V2) → U32(isNatKind(activate(V2)))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U12(tt, V1, V2) → U13(isNatKind(activate(V2)), activate(V1), activate(V2))
U22(tt, V1) → U23(isNat(activate(V1)))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U13(tt, V1, V2) → U14(isNatKind(activate(V2)), activate(V1), activate(V2))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
U14(tt, V1, V2) → U15(isNat(activate(V1)), activate(V2))
U15(tt, V2) → U16(isNat(activate(V2)))
s(X) → n__s(X)
plus(X1, X2) → n__plus(X1, X2)
isNat(n__0) → tt
isNatKind(n__0) → tt
U41(tt) → tt
U32(tt) → tt
U23(tt) → tt
U16(tt) → tt
0 → n__0
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
ACTIVATE(n__s(X)) → ACTIVATE(X)
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVATE(n__s(X)) → ACTIVATE(X)
ns1 > ACTIVATE1
ACTIVATE1: multiset
ns1: multiset
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, V2) → U32(isNatKind(activate(V2)))
U32(tt) → tt
U41(tt) → tt
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
U52(tt, N) → activate(N)
U61(tt, M, N) → U62(isNatKind(activate(M)), activate(M), activate(N))
U62(tt, M, N) → U63(isNat(activate(N)), activate(M), activate(N))
U63(tt, M, N) → U64(isNatKind(activate(N)), activate(M), activate(N))
U64(tt, M, N) → s(plus(activate(N), activate(M)))
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))
isNatKind(n__0) → tt
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
plus(N, 0) → U51(isNat(N), N)
plus(N, s(M)) → U61(isNat(M), M, N)
0 → n__0
plus(X1, X2) → n__plus(X1, X2)
s(X) → n__s(X)
activate(n__0) → 0
activate(n__plus(X1, X2)) → plus(activate(X1), activate(X2))
activate(n__s(X)) → s(activate(X))
activate(X) → X