0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 DependencyGraphProof (⇔)
↳8 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.
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))
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)
ISNATKIND(n__plus(V1, V2)) → ACTIVATE(V2)
ISNATKIND(n__s(V1)) → ISNATKIND(activate(V1))
ISNATKIND(n__s(V1)) → ACTIVATE(V1)
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))
ISNAT(n__s(V1)) → ISNATKIND(activate(V1))
ISNAT(n__s(V1)) → ACTIVATE(V1)
U211(tt, V1) → ISNATKIND(activate(V1))
U211(tt, V1) → ACTIVATE(V1)
PLUS(N, s(M)) → U611(isNat(M), M, N)
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)
[nplus2, U613, U623, U633, U643, plus2] > U11^12 > U12^12 > U13^13 > U14^13 > [tt, isNatKind, isNat, U11, U14, U41]
[nplus2, U613, U623, U633, U643, plus2] > U31^11 > [tt, isNatKind, isNat, U11, U14, U41]
[nplus2, U613, U623, U633, U643, plus2] > [PLUS2, U61^12, U62^12, U63^12, U64^12] > [tt, isNatKind, isNat, U11, U14, U41]
[nplus2, U613, U623, U633, U643, plus2] > [ns1, s1] > U21^11 > [tt, isNatKind, isNat, U11, U14, U41]
[0, n0] > [tt, isNatKind, isNat, U11, U14, U41]
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
U151(tt, V2) → ISNAT(activate(V2))
U511(tt, N) → U521(isNatKind(activate(N)), activate(N))
U521(tt, N) → ACTIVATE(N)
U511(tt, N) → ISNATKIND(activate(N))
U511(tt, N) → ACTIVATE(N)
U221(tt, V1) → ISNAT(activate(V1))
U221(tt, V1) → ACTIVATE(V1)
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