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 PisEmptyProof (⇔)
↳18 TRUE
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 PisEmptyProof (⇔)
↳23 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(X1, X2)
activate(n__s(X)) → s(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(X1, X2)
ACTIVATE(n__s(X)) → S(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(X1, X2)
activate(n__s(X)) → s(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(X1, X2)
PLUS(N, 0) → U511(isNat(N), N)
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
U521(tt, N) → ACTIVATE(N)
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(X1, X2)
activate(n__s(X)) → s(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))
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(X1, X2)
PLUS(N, 0) → U511(isNat(N), N)
U521(tt, N) → ACTIVATE(N)
U511(tt, N) → ISNATKIND(activate(N))
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
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)
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)
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)
[isNatKind1, nplus2, plus2, U612, U622, U632, U642] > U11^12 > [U12^12, U13^12, U14^12] > U511
[isNatKind1, nplus2, plus2, U612, U622, U632, U642] > U31^11 > U511
[isNatKind1, nplus2, plus2, U612, U622, U632, U642] > [U311, U32] > tt > [U12^12, U13^12, U14^12] > U511
[isNatKind1, nplus2, plus2, U612, U622, U632, U642] > [U311, U32] > tt > [PLUS2, U51^11, U52^11, U61^12, U62^12, U63^12, U64^12] > U511
[isNatKind1, nplus2, plus2, U612, U622, U632, U642] > U111 > U511
[0, n0] > tt > [U12^12, U13^12, U14^12] > U511
[0, n0] > tt > [PLUS2, U51^11, U52^11, U61^12, U62^12, U63^12, U64^12] > U511
U12^12: multiset
tt: multiset
U13^12: multiset
isNatKind1: [1]
U14^12: multiset
nplus2: multiset
U11^12: multiset
U31^11: multiset
PLUS2: multiset
0: multiset
U51^11: multiset
U52^11: multiset
U61^12: multiset
U62^12: multiset
U63^12: multiset
U64^12: multiset
n0: multiset
plus2: multiset
U511: multiset
U311: multiset
U111: [1]
U612: multiset
U622: multiset
U632: multiset
U642: multiset
U32: multiset
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(X1, X2)
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(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))
U41(tt) → tt
plus(X1, X2) → n__plus(X1, X2)
plus(N, s(M)) → U61(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))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
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)))
s(X) → n__s(X)
U31(tt, V2) → U32(isNatKind(activate(V2)))
U32(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))
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → 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))
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))
U151(tt, V2) → ACTIVATE(V2)
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(X1, X2)
activate(n__s(X)) → s(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(X1, X2)
activate(n__s(X)) → s(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]
[nplus2, plus2, U613, U623, U633, U643] > [s1, ns1] > [tt, isNatKind, isNat, U11, U13, U14, U23, U16] > [U521, U511]
tt: multiset
isNatKind: multiset
isNat: multiset
s1: multiset
n0: multiset
0: multiset
U521: multiset
nplus2: [2,1]
plus2: [2,1]
U511: multiset
ns1: multiset
U11: multiset
U613: [2,3,1]
U13: multiset
U14: multiset
U23: multiset
U16: multiset
U623: [2,3,1]
U633: [2,3,1]
U643: [2,3,1]
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(X1, X2)
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(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))
U41(tt) → tt
plus(X1, X2) → n__plus(X1, X2)
plus(N, s(M)) → U61(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))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
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)))
s(X) → n__s(X)
U31(tt, V2) → U32(isNatKind(activate(V2)))
U32(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(X1, X2)
activate(n__s(X)) → s(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(X1, X2)
activate(n__s(X)) → s(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, U643] > [ns1, s1] > U521
[n0, 0] > [tt, nplus2, plus2, isNat, isNatKind, U613, U623, U633, U643] > U512 > U521
ns1: [1]
n0: multiset
0: multiset
U521: multiset
tt: multiset
nplus2: [1,2]
plus2: [1,2]
U512: multiset
isNat: []
isNatKind: []
s1: [1]
U613: [3,2,1]
U623: [3,2,1]
U633: [3,2,1]
U643: [3,2,1]
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(X1, X2)
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(X)
activate(X) → X
isNatKind(n__plus(V1, V2)) → U31(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0) → tt
isNatKind(n__s(V1)) → U41(isNatKind(activate(V1)))
U41(tt) → tt
plus(X1, X2) → n__plus(X1, X2)
isNat(n__0) → tt
plus(N, s(M)) → U61(isNat(M), M, N)
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
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))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
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)))
s(X) → n__s(X)
U31(tt, V2) → U32(isNatKind(activate(V2)))
U32(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(X1, X2)
activate(n__s(X)) → s(X)
activate(X) → X
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))
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(X1, X2)
activate(n__s(X)) → s(X)
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
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))
[n0, 0] > [isNatKind, tt, isNat, U11, U13, U14] > U522
[n0, 0] > U512 > U522
[nplus2, plus2, U613, U623, U633, U643] > [ns1, s1] > U21^11 > U22^11 > ISNAT1 > [isNatKind, tt, isNat, U11, U13, U14] > U522
[nplus2, plus2, U613, U623, U633, U643] > U512 > U522
ISNAT1: [1]
ns1: multiset
U21^11: multiset
isNatKind: multiset
tt: multiset
U22^11: [1]
n0: multiset
0: multiset
U522: [1,2]
nplus2: multiset
plus2: multiset
U512: [1,2]
isNat: multiset
s1: multiset
U613: multiset
U11: multiset
U13: multiset
U14: multiset
U623: multiset
U633: multiset
U643: multiset
activate(n__0) → 0
U52(tt, N) → activate(N)
activate(n__plus(X1, X2)) → plus(X1, X2)
plus(N, 0) → U51(isNat(N), N)
U51(tt, N) → U52(isNatKind(activate(N)), activate(N))
activate(n__s(X)) → s(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)))
U41(tt) → tt
plus(X1, X2) → n__plus(X1, X2)
isNat(n__0) → tt
plus(N, s(M)) → U61(isNat(M), M, N)
isNat(n__plus(V1, V2)) → U11(isNatKind(activate(V1)), activate(V1), activate(V2))
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))
isNat(n__s(V1)) → U21(isNatKind(activate(V1)), activate(V1))
U21(tt, V1) → U22(isNatKind(activate(V1)), activate(V1))
U22(tt, V1) → U23(isNat(activate(V1)))
U23(tt) → tt
U15(tt, V2) → U16(isNat(activate(V2)))
U16(tt) → tt
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)))
s(X) → n__s(X)
U31(tt, V2) → U32(isNatKind(activate(V2)))
U32(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(X1, X2)
activate(n__s(X)) → s(X)
activate(X) → X