(0) Obligation:

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

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

ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
ACTIVE(U101(tt, M, N)) → U1021(isNatKind(M), M, N)
ACTIVE(U101(tt, M, N)) → ISNATKIND(M)
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
ACTIVE(U102(tt, M, N)) → U1031(isNat(N), M, N)
ACTIVE(U102(tt, M, N)) → ISNAT(N)
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
ACTIVE(U103(tt, M, N)) → U1041(isNatKind(N), M, N)
ACTIVE(U103(tt, M, N)) → ISNATKIND(N)
ACTIVE(U104(tt, M, N)) → MARK(plus(x(N, M), N))
ACTIVE(U104(tt, M, N)) → PLUS(x(N, M), N)
ACTIVE(U104(tt, M, N)) → X(N, M)
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
ACTIVE(U11(tt, V1, V2)) → U121(isNatKind(V1), V1, V2)
ACTIVE(U11(tt, V1, V2)) → ISNATKIND(V1)
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
ACTIVE(U12(tt, V1, V2)) → U131(isNatKind(V2), V1, V2)
ACTIVE(U12(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
ACTIVE(U13(tt, V1, V2)) → U141(isNatKind(V2), V1, V2)
ACTIVE(U13(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
ACTIVE(U14(tt, V1, V2)) → U151(isNat(V1), V2)
ACTIVE(U14(tt, V1, V2)) → ISNAT(V1)
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
ACTIVE(U15(tt, V2)) → U161(isNat(V2))
ACTIVE(U15(tt, V2)) → ISNAT(V2)
ACTIVE(U16(tt)) → MARK(tt)
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
ACTIVE(U21(tt, V1)) → U221(isNatKind(V1), V1)
ACTIVE(U21(tt, V1)) → ISNATKIND(V1)
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
ACTIVE(U22(tt, V1)) → U231(isNat(V1))
ACTIVE(U22(tt, V1)) → ISNAT(V1)
ACTIVE(U23(tt)) → MARK(tt)
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
ACTIVE(U31(tt, V1, V2)) → U321(isNatKind(V1), V1, V2)
ACTIVE(U31(tt, V1, V2)) → ISNATKIND(V1)
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
ACTIVE(U32(tt, V1, V2)) → U331(isNatKind(V2), V1, V2)
ACTIVE(U32(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
ACTIVE(U33(tt, V1, V2)) → U341(isNatKind(V2), V1, V2)
ACTIVE(U33(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
ACTIVE(U34(tt, V1, V2)) → U351(isNat(V1), V2)
ACTIVE(U34(tt, V1, V2)) → ISNAT(V1)
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
ACTIVE(U35(tt, V2)) → U361(isNat(V2))
ACTIVE(U35(tt, V2)) → ISNAT(V2)
ACTIVE(U36(tt)) → MARK(tt)
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
ACTIVE(U41(tt, V2)) → U421(isNatKind(V2))
ACTIVE(U41(tt, V2)) → ISNATKIND(V2)
ACTIVE(U42(tt)) → MARK(tt)
ACTIVE(U51(tt)) → MARK(tt)
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
ACTIVE(U61(tt, V2)) → U621(isNatKind(V2))
ACTIVE(U61(tt, V2)) → ISNATKIND(V2)
ACTIVE(U62(tt)) → MARK(tt)
ACTIVE(U71(tt, N)) → MARK(U72(isNatKind(N), N))
ACTIVE(U71(tt, N)) → U721(isNatKind(N), N)
ACTIVE(U71(tt, N)) → ISNATKIND(N)
ACTIVE(U72(tt, N)) → MARK(N)
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
ACTIVE(U81(tt, M, N)) → U821(isNatKind(M), M, N)
ACTIVE(U81(tt, M, N)) → ISNATKIND(M)
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
ACTIVE(U82(tt, M, N)) → U831(isNat(N), M, N)
ACTIVE(U82(tt, M, N)) → ISNAT(N)
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
ACTIVE(U83(tt, M, N)) → U841(isNatKind(N), M, N)
ACTIVE(U83(tt, M, N)) → ISNATKIND(N)
ACTIVE(U84(tt, M, N)) → MARK(s(plus(N, M)))
ACTIVE(U84(tt, M, N)) → S(plus(N, M))
ACTIVE(U84(tt, M, N)) → PLUS(N, M)
ACTIVE(U91(tt, N)) → MARK(U92(isNatKind(N)))
ACTIVE(U91(tt, N)) → U921(isNatKind(N))
ACTIVE(U91(tt, N)) → ISNATKIND(N)
ACTIVE(U92(tt)) → MARK(0)
ACTIVE(isNat(0)) → MARK(tt)
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
ACTIVE(isNat(plus(V1, V2))) → U111(isNatKind(V1), V1, V2)
ACTIVE(isNat(plus(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
ACTIVE(isNat(s(V1))) → U211(isNatKind(V1), V1)
ACTIVE(isNat(s(V1))) → ISNATKIND(V1)
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
ACTIVE(isNat(x(V1, V2))) → U311(isNatKind(V1), V1, V2)
ACTIVE(isNat(x(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNatKind(0)) → MARK(tt)
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
ACTIVE(isNatKind(plus(V1, V2))) → U411(isNatKind(V1), V2)
ACTIVE(isNatKind(plus(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
ACTIVE(isNatKind(s(V1))) → U511(isNatKind(V1))
ACTIVE(isNatKind(s(V1))) → ISNATKIND(V1)
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
ACTIVE(isNatKind(x(V1, V2))) → U611(isNatKind(V1), V2)
ACTIVE(isNatKind(x(V1, V2))) → ISNATKIND(V1)
ACTIVE(plus(N, 0)) → MARK(U71(isNat(N), N))
ACTIVE(plus(N, 0)) → U711(isNat(N), N)
ACTIVE(plus(N, 0)) → ISNAT(N)
ACTIVE(plus(N, s(M))) → MARK(U81(isNat(M), M, N))
ACTIVE(plus(N, s(M))) → U811(isNat(M), M, N)
ACTIVE(plus(N, s(M))) → ISNAT(M)
ACTIVE(x(N, 0)) → MARK(U91(isNat(N), N))
ACTIVE(x(N, 0)) → U911(isNat(N), N)
ACTIVE(x(N, 0)) → ISNAT(N)
ACTIVE(x(N, s(M))) → MARK(U101(isNat(M), M, N))
ACTIVE(x(N, s(M))) → U1011(isNat(M), M, N)
ACTIVE(x(N, s(M))) → ISNAT(M)
MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
MARK(U101(X1, X2, X3)) → U1011(mark(X1), X2, X3)
MARK(U101(X1, X2, X3)) → MARK(X1)
MARK(tt) → ACTIVE(tt)
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
MARK(U102(X1, X2, X3)) → U1021(mark(X1), X2, X3)
MARK(U102(X1, X2, X3)) → MARK(X1)
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(U103(X1, X2, X3)) → U1031(mark(X1), X2, X3)
MARK(U103(X1, X2, X3)) → MARK(X1)
MARK(isNat(X)) → ACTIVE(isNat(X))
MARK(U104(X1, X2, X3)) → ACTIVE(U104(mark(X1), X2, X3))
MARK(U104(X1, X2, X3)) → U1041(mark(X1), X2, X3)
MARK(U104(X1, X2, X3)) → MARK(X1)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → PLUS(mark(X1), mark(X2))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
MARK(x(X1, X2)) → X(mark(X1), mark(X2))
MARK(x(X1, X2)) → MARK(X1)
MARK(x(X1, X2)) → MARK(X2)
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
MARK(U11(X1, X2, X3)) → U111(mark(X1), X2, X3)
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
MARK(U12(X1, X2, X3)) → U121(mark(X1), X2, X3)
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
MARK(U13(X1, X2, X3)) → U131(mark(X1), X2, X3)
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
MARK(U14(X1, X2, X3)) → U141(mark(X1), X2, X3)
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
MARK(U15(X1, X2)) → U151(mark(X1), X2)
MARK(U15(X1, X2)) → MARK(X1)
MARK(U16(X)) → ACTIVE(U16(mark(X)))
MARK(U16(X)) → U161(mark(X))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
MARK(U21(X1, X2)) → U211(mark(X1), X2)
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
MARK(U22(X1, X2)) → U221(mark(X1), X2)
MARK(U22(X1, X2)) → MARK(X1)
MARK(U23(X)) → ACTIVE(U23(mark(X)))
MARK(U23(X)) → U231(mark(X))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
MARK(U31(X1, X2, X3)) → U311(mark(X1), X2, X3)
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → U321(mark(X1), X2, X3)
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → U331(mark(X1), X2, X3)
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
MARK(U34(X1, X2, X3)) → U341(mark(X1), X2, X3)
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
MARK(U35(X1, X2)) → U351(mark(X1), X2)
MARK(U35(X1, X2)) → MARK(X1)
MARK(U36(X)) → ACTIVE(U36(mark(X)))
MARK(U36(X)) → U361(mark(X))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → U411(mark(X1), X2)
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
MARK(U42(X)) → U421(mark(X))
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
MARK(U51(X)) → U511(mark(X))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
MARK(U61(X1, X2)) → U611(mark(X1), X2)
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X)) → ACTIVE(U62(mark(X)))
MARK(U62(X)) → U621(mark(X))
MARK(U62(X)) → MARK(X)
MARK(U71(X1, X2)) → ACTIVE(U71(mark(X1), X2))
MARK(U71(X1, X2)) → U711(mark(X1), X2)
MARK(U71(X1, X2)) → MARK(X1)
MARK(U72(X1, X2)) → ACTIVE(U72(mark(X1), X2))
MARK(U72(X1, X2)) → U721(mark(X1), X2)
MARK(U72(X1, X2)) → MARK(X1)
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
MARK(U81(X1, X2, X3)) → U811(mark(X1), X2, X3)
MARK(U81(X1, X2, X3)) → MARK(X1)
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U82(X1, X2, X3)) → U821(mark(X1), X2, X3)
MARK(U82(X1, X2, X3)) → MARK(X1)
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → U831(mark(X1), X2, X3)
MARK(U83(X1, X2, X3)) → MARK(X1)
MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))
MARK(U84(X1, X2, X3)) → U841(mark(X1), X2, X3)
MARK(U84(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(s(X)) → S(mark(X))
MARK(s(X)) → MARK(X)
MARK(U91(X1, X2)) → ACTIVE(U91(mark(X1), X2))
MARK(U91(X1, X2)) → U911(mark(X1), X2)
MARK(U91(X1, X2)) → MARK(X1)
MARK(U92(X)) → ACTIVE(U92(mark(X)))
MARK(U92(X)) → U921(mark(X))
MARK(U92(X)) → MARK(X)
MARK(0) → ACTIVE(0)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
U1011(X1, mark(X2), X3) → U1011(X1, X2, X3)
U1011(X1, X2, mark(X3)) → U1011(X1, X2, X3)
U1011(active(X1), X2, X3) → U1011(X1, X2, X3)
U1011(X1, active(X2), X3) → U1011(X1, X2, X3)
U1011(X1, X2, active(X3)) → U1011(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
U1021(X1, mark(X2), X3) → U1021(X1, X2, X3)
U1021(X1, X2, mark(X3)) → U1021(X1, X2, X3)
U1021(active(X1), X2, X3) → U1021(X1, X2, X3)
U1021(X1, active(X2), X3) → U1021(X1, X2, X3)
U1021(X1, X2, active(X3)) → U1021(X1, X2, X3)
ISNATKIND(mark(X)) → ISNATKIND(X)
ISNATKIND(active(X)) → ISNATKIND(X)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
U1031(X1, mark(X2), X3) → U1031(X1, X2, X3)
U1031(X1, X2, mark(X3)) → U1031(X1, X2, X3)
U1031(active(X1), X2, X3) → U1031(X1, X2, X3)
U1031(X1, active(X2), X3) → U1031(X1, X2, X3)
U1031(X1, X2, active(X3)) → U1031(X1, X2, X3)
ISNAT(mark(X)) → ISNAT(X)
ISNAT(active(X)) → ISNAT(X)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
U1041(X1, mark(X2), X3) → U1041(X1, X2, X3)
U1041(X1, X2, mark(X3)) → U1041(X1, X2, X3)
U1041(active(X1), X2, X3) → U1041(X1, X2, X3)
U1041(X1, active(X2), X3) → U1041(X1, X2, X3)
U1041(X1, X2, active(X3)) → U1041(X1, X2, X3)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
X(mark(X1), X2) → X(X1, X2)
X(X1, mark(X2)) → X(X1, X2)
X(active(X1), X2) → X(X1, X2)
X(X1, active(X2)) → X(X1, X2)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, mark(X3)) → U111(X1, X2, X3)
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, mark(X3)) → U121(X1, X2, X3)
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
U131(X1, mark(X2), X3) → U131(X1, X2, X3)
U131(X1, X2, mark(X3)) → U131(X1, X2, X3)
U131(active(X1), X2, X3) → U131(X1, X2, X3)
U131(X1, active(X2), X3) → U131(X1, X2, X3)
U131(X1, X2, active(X3)) → U131(X1, X2, X3)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
U141(X1, mark(X2), X3) → U141(X1, X2, X3)
U141(X1, X2, mark(X3)) → U141(X1, X2, X3)
U141(active(X1), X2, X3) → U141(X1, X2, X3)
U141(X1, active(X2), X3) → U141(X1, X2, X3)
U141(X1, X2, active(X3)) → U141(X1, X2, X3)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U161(mark(X)) → U161(X)
U161(active(X)) → U161(X)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
U221(X1, mark(X2)) → U221(X1, X2)
U221(active(X1), X2) → U221(X1, X2)
U221(X1, active(X2)) → U221(X1, X2)
U231(mark(X)) → U231(X)
U231(active(X)) → U231(X)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, mark(X3)) → U311(X1, X2, X3)
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
U321(X1, mark(X2), X3) → U321(X1, X2, X3)
U321(X1, X2, mark(X3)) → U321(X1, X2, X3)
U321(active(X1), X2, X3) → U321(X1, X2, X3)
U321(X1, active(X2), X3) → U321(X1, X2, X3)
U321(X1, X2, active(X3)) → U321(X1, X2, X3)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U331(X1, mark(X2), X3) → U331(X1, X2, X3)
U331(X1, X2, mark(X3)) → U331(X1, X2, X3)
U331(active(X1), X2, X3) → U331(X1, X2, X3)
U331(X1, active(X2), X3) → U331(X1, X2, X3)
U331(X1, X2, active(X3)) → U331(X1, X2, X3)
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
U341(X1, mark(X2), X3) → U341(X1, X2, X3)
U341(X1, X2, mark(X3)) → U341(X1, X2, X3)
U341(active(X1), X2, X3) → U341(X1, X2, X3)
U341(X1, active(X2), X3) → U341(X1, X2, X3)
U341(X1, X2, active(X3)) → U341(X1, X2, X3)
U351(mark(X1), X2) → U351(X1, X2)
U351(X1, mark(X2)) → U351(X1, X2)
U351(active(X1), X2) → U351(X1, X2)
U351(X1, active(X2)) → U351(X1, X2)
U361(mark(X)) → U361(X)
U361(active(X)) → U361(X)
U411(mark(X1), X2) → U411(X1, X2)
U411(X1, mark(X2)) → U411(X1, X2)
U411(active(X1), X2) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)
U421(mark(X)) → U421(X)
U421(active(X)) → U421(X)
U511(mark(X)) → U511(X)
U511(active(X)) → U511(X)
U611(mark(X1), X2) → U611(X1, X2)
U611(X1, mark(X2)) → U611(X1, X2)
U611(active(X1), X2) → U611(X1, X2)
U611(X1, active(X2)) → U611(X1, X2)
U621(mark(X)) → U621(X)
U621(active(X)) → U621(X)
U711(mark(X1), X2) → U711(X1, X2)
U711(X1, mark(X2)) → U711(X1, X2)
U711(active(X1), X2) → U711(X1, X2)
U711(X1, active(X2)) → U711(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)
U721(X1, mark(X2)) → U721(X1, X2)
U721(active(X1), X2) → U721(X1, X2)
U721(X1, active(X2)) → U721(X1, X2)
U811(mark(X1), X2, X3) → U811(X1, X2, X3)
U811(X1, mark(X2), X3) → U811(X1, X2, X3)
U811(X1, X2, mark(X3)) → U811(X1, X2, X3)
U811(active(X1), X2, X3) → U811(X1, X2, X3)
U811(X1, active(X2), X3) → U811(X1, X2, X3)
U811(X1, X2, active(X3)) → U811(X1, X2, X3)
U821(mark(X1), X2, X3) → U821(X1, X2, X3)
U821(X1, mark(X2), X3) → U821(X1, X2, X3)
U821(X1, X2, mark(X3)) → U821(X1, X2, X3)
U821(active(X1), X2, X3) → U821(X1, X2, X3)
U821(X1, active(X2), X3) → U821(X1, X2, X3)
U821(X1, X2, active(X3)) → U821(X1, X2, X3)
U831(mark(X1), X2, X3) → U831(X1, X2, X3)
U831(X1, mark(X2), X3) → U831(X1, X2, X3)
U831(X1, X2, mark(X3)) → U831(X1, X2, X3)
U831(active(X1), X2, X3) → U831(X1, X2, X3)
U831(X1, active(X2), X3) → U831(X1, X2, X3)
U831(X1, X2, active(X3)) → U831(X1, X2, X3)
U841(mark(X1), X2, X3) → U841(X1, X2, X3)
U841(X1, mark(X2), X3) → U841(X1, X2, X3)
U841(X1, X2, mark(X3)) → U841(X1, X2, X3)
U841(active(X1), X2, X3) → U841(X1, X2, X3)
U841(X1, active(X2), X3) → U841(X1, X2, X3)
U841(X1, X2, active(X3)) → U841(X1, X2, X3)
S(mark(X)) → S(X)
S(active(X)) → S(X)
U911(mark(X1), X2) → U911(X1, X2)
U911(X1, mark(X2)) → U911(X1, X2)
U911(active(X1), X2) → U911(X1, X2)
U911(X1, active(X2)) → U911(X1, X2)
U921(mark(X)) → U921(X)
U921(active(X)) → U921(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(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 38 SCCs with 114 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

U921(active(X)) → U921(X)
U921(mark(X)) → U921(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(6) Obligation:

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

U911(X1, mark(X2)) → U911(X1, X2)
U911(mark(X1), X2) → U911(X1, X2)
U911(active(X1), X2) → U911(X1, X2)
U911(X1, active(X2)) → U911(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(7) Obligation:

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

S(active(X)) → S(X)
S(mark(X)) → S(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(8) Obligation:

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

U841(X1, mark(X2), X3) → U841(X1, X2, X3)
U841(mark(X1), X2, X3) → U841(X1, X2, X3)
U841(X1, X2, mark(X3)) → U841(X1, X2, X3)
U841(active(X1), X2, X3) → U841(X1, X2, X3)
U841(X1, active(X2), X3) → U841(X1, X2, X3)
U841(X1, X2, active(X3)) → U841(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(9) Obligation:

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

U831(X1, mark(X2), X3) → U831(X1, X2, X3)
U831(mark(X1), X2, X3) → U831(X1, X2, X3)
U831(X1, X2, mark(X3)) → U831(X1, X2, X3)
U831(active(X1), X2, X3) → U831(X1, X2, X3)
U831(X1, active(X2), X3) → U831(X1, X2, X3)
U831(X1, X2, active(X3)) → U831(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(10) Obligation:

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

U821(X1, mark(X2), X3) → U821(X1, X2, X3)
U821(mark(X1), X2, X3) → U821(X1, X2, X3)
U821(X1, X2, mark(X3)) → U821(X1, X2, X3)
U821(active(X1), X2, X3) → U821(X1, X2, X3)
U821(X1, active(X2), X3) → U821(X1, X2, X3)
U821(X1, X2, active(X3)) → U821(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(11) Obligation:

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

U811(X1, mark(X2), X3) → U811(X1, X2, X3)
U811(mark(X1), X2, X3) → U811(X1, X2, X3)
U811(X1, X2, mark(X3)) → U811(X1, X2, X3)
U811(active(X1), X2, X3) → U811(X1, X2, X3)
U811(X1, active(X2), X3) → U811(X1, X2, X3)
U811(X1, X2, active(X3)) → U811(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(12) Obligation:

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

U721(X1, mark(X2)) → U721(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)
U721(active(X1), X2) → U721(X1, X2)
U721(X1, active(X2)) → U721(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(13) Obligation:

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

U711(X1, mark(X2)) → U711(X1, X2)
U711(mark(X1), X2) → U711(X1, X2)
U711(active(X1), X2) → U711(X1, X2)
U711(X1, active(X2)) → U711(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(14) Obligation:

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

U621(active(X)) → U621(X)
U621(mark(X)) → U621(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(15) Obligation:

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

U611(X1, mark(X2)) → U611(X1, X2)
U611(mark(X1), X2) → U611(X1, X2)
U611(active(X1), X2) → U611(X1, X2)
U611(X1, active(X2)) → U611(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(16) Obligation:

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

U511(active(X)) → U511(X)
U511(mark(X)) → U511(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(17) Obligation:

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

U421(active(X)) → U421(X)
U421(mark(X)) → U421(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(18) Obligation:

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

U411(X1, mark(X2)) → U411(X1, X2)
U411(mark(X1), X2) → U411(X1, X2)
U411(active(X1), X2) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(19) Obligation:

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

U361(active(X)) → U361(X)
U361(mark(X)) → U361(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(20) Obligation:

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

U351(X1, mark(X2)) → U351(X1, X2)
U351(mark(X1), X2) → U351(X1, X2)
U351(active(X1), X2) → U351(X1, X2)
U351(X1, active(X2)) → U351(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(21) Obligation:

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

U341(X1, mark(X2), X3) → U341(X1, X2, X3)
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
U341(X1, X2, mark(X3)) → U341(X1, X2, X3)
U341(active(X1), X2, X3) → U341(X1, X2, X3)
U341(X1, active(X2), X3) → U341(X1, X2, X3)
U341(X1, X2, active(X3)) → U341(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(22) Obligation:

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

U331(X1, mark(X2), X3) → U331(X1, X2, X3)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U331(X1, X2, mark(X3)) → U331(X1, X2, X3)
U331(active(X1), X2, X3) → U331(X1, X2, X3)
U331(X1, active(X2), X3) → U331(X1, X2, X3)
U331(X1, X2, active(X3)) → U331(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(23) Obligation:

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

U321(X1, mark(X2), X3) → U321(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
U321(X1, X2, mark(X3)) → U321(X1, X2, X3)
U321(active(X1), X2, X3) → U321(X1, X2, X3)
U321(X1, active(X2), X3) → U321(X1, X2, X3)
U321(X1, X2, active(X3)) → U321(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(24) Obligation:

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

U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, X2, mark(X3)) → U311(X1, X2, X3)
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(25) Obligation:

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

U231(active(X)) → U231(X)
U231(mark(X)) → U231(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(26) Obligation:

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

U221(X1, mark(X2)) → U221(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
U221(active(X1), X2) → U221(X1, X2)
U221(X1, active(X2)) → U221(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(27) Obligation:

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

U211(X1, mark(X2)) → U211(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(28) Obligation:

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

U161(active(X)) → U161(X)
U161(mark(X)) → U161(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(29) Obligation:

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

U151(X1, mark(X2)) → U151(X1, X2)
U151(mark(X1), X2) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(30) Obligation:

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

U141(X1, mark(X2), X3) → U141(X1, X2, X3)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
U141(X1, X2, mark(X3)) → U141(X1, X2, X3)
U141(active(X1), X2, X3) → U141(X1, X2, X3)
U141(X1, active(X2), X3) → U141(X1, X2, X3)
U141(X1, X2, active(X3)) → U141(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(31) Obligation:

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

U131(X1, mark(X2), X3) → U131(X1, X2, X3)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
U131(X1, X2, mark(X3)) → U131(X1, X2, X3)
U131(active(X1), X2, X3) → U131(X1, X2, X3)
U131(X1, active(X2), X3) → U131(X1, X2, X3)
U131(X1, X2, active(X3)) → U131(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(32) Obligation:

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

U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, X2, mark(X3)) → U121(X1, X2, X3)
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(33) Obligation:

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

U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, X2, mark(X3)) → U111(X1, X2, X3)
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(34) Obligation:

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

X(X1, mark(X2)) → X(X1, X2)
X(mark(X1), X2) → X(X1, X2)
X(active(X1), X2) → X(X1, X2)
X(X1, active(X2)) → X(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(35) Obligation:

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

PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(36) Obligation:

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

U1041(X1, mark(X2), X3) → U1041(X1, X2, X3)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
U1041(X1, X2, mark(X3)) → U1041(X1, X2, X3)
U1041(active(X1), X2, X3) → U1041(X1, X2, X3)
U1041(X1, active(X2), X3) → U1041(X1, X2, X3)
U1041(X1, X2, active(X3)) → U1041(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(37) Obligation:

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

ISNAT(active(X)) → ISNAT(X)
ISNAT(mark(X)) → ISNAT(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(38) Obligation:

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

U1031(X1, mark(X2), X3) → U1031(X1, X2, X3)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
U1031(X1, X2, mark(X3)) → U1031(X1, X2, X3)
U1031(active(X1), X2, X3) → U1031(X1, X2, X3)
U1031(X1, active(X2), X3) → U1031(X1, X2, X3)
U1031(X1, X2, active(X3)) → U1031(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(39) Obligation:

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

ISNATKIND(active(X)) → ISNATKIND(X)
ISNATKIND(mark(X)) → ISNATKIND(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(40) Obligation:

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

U1021(X1, mark(X2), X3) → U1021(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
U1021(X1, X2, mark(X3)) → U1021(X1, X2, X3)
U1021(active(X1), X2, X3) → U1021(X1, X2, X3)
U1021(X1, active(X2), X3) → U1021(X1, X2, X3)
U1021(X1, X2, active(X3)) → U1021(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(41) Obligation:

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

U1011(X1, mark(X2), X3) → U1011(X1, X2, X3)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
U1011(X1, X2, mark(X3)) → U1011(X1, X2, X3)
U1011(active(X1), X2, X3) → U1011(X1, X2, X3)
U1011(X1, active(X2), X3) → U1011(X1, X2, X3)
U1011(X1, X2, active(X3)) → U1011(X1, X2, X3)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(42) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U101(X1, X2, X3)) → MARK(X1)
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(U102(X1, X2, X3)) → MARK(X1)
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
ACTIVE(U104(tt, M, N)) → MARK(plus(x(N, M), N))
MARK(U103(X1, X2, X3)) → MARK(X1)
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
MARK(U104(X1, X2, X3)) → ACTIVE(U104(mark(X1), X2, X3))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
MARK(U104(X1, X2, X3)) → MARK(X1)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(x(X1, X2)) → MARK(X1)
MARK(x(X1, X2)) → MARK(X2)
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
MARK(U16(X)) → ACTIVE(U16(mark(X)))
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U23(X)) → ACTIVE(U23(mark(X)))
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
ACTIVE(U71(tt, N)) → MARK(U72(isNatKind(N), N))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
ACTIVE(U72(tt, N)) → MARK(N)
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
MARK(U36(X)) → ACTIVE(U36(mark(X)))
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(U84(tt, M, N)) → MARK(s(plus(N, M)))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
ACTIVE(U91(tt, N)) → MARK(U92(isNatKind(N)))
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X)) → ACTIVE(U62(mark(X)))
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
MARK(U71(X1, X2)) → ACTIVE(U71(mark(X1), X2))
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
MARK(U71(X1, X2)) → MARK(X1)
MARK(U72(X1, X2)) → ACTIVE(U72(mark(X1), X2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U72(X1, X2)) → MARK(X1)
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U81(X1, X2, X3)) → MARK(X1)
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
ACTIVE(plus(N, 0)) → MARK(U71(isNat(N), N))
MARK(U82(X1, X2, X3)) → MARK(X1)
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))
ACTIVE(plus(N, s(M))) → MARK(U81(isNat(M), M, N))
MARK(U83(X1, X2, X3)) → MARK(X1)
MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))
ACTIVE(x(N, 0)) → MARK(U91(isNat(N), N))
MARK(U84(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
ACTIVE(x(N, s(M))) → MARK(U101(isNat(M), M, N))
MARK(s(X)) → MARK(X)
MARK(U91(X1, X2)) → ACTIVE(U91(mark(X1), X2))
MARK(U91(X1, X2)) → MARK(X1)
MARK(U92(X)) → ACTIVE(U92(mark(X)))
MARK(U92(X)) → MARK(X)

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(43) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MARK(U101(X1, X2, X3)) → MARK(X1)
MARK(U102(X1, X2, X3)) → MARK(X1)
ACTIVE(U104(tt, M, N)) → MARK(plus(x(N, M), N))
MARK(U103(X1, X2, X3)) → MARK(X1)
MARK(U104(X1, X2, X3)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(x(X1, X2)) → MARK(X1)
MARK(x(X1, X2)) → MARK(X2)
ACTIVE(U71(tt, N)) → MARK(U72(isNatKind(N), N))
ACTIVE(U72(tt, N)) → MARK(N)
ACTIVE(U84(tt, M, N)) → MARK(s(plus(N, M)))
MARK(U71(X1, X2)) → MARK(X1)
MARK(U72(X1, X2)) → MARK(X1)
MARK(U81(X1, X2, X3)) → MARK(X1)
ACTIVE(plus(N, 0)) → MARK(U71(isNat(N), N))
MARK(U82(X1, X2, X3)) → MARK(X1)
ACTIVE(plus(N, s(M))) → MARK(U81(isNat(M), M, N))
MARK(U83(X1, X2, X3)) → MARK(X1)
ACTIVE(x(N, 0)) → MARK(U91(isNat(N), N))
MARK(U84(X1, X2, X3)) → MARK(X1)
ACTIVE(x(N, s(M))) → MARK(U101(isNat(M), M, N))
MARK(s(X)) → MARK(X)
MARK(U91(X1, X2)) → MARK(X1)
MARK(U92(X)) → MARK(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  MARK(x1)
U101(x1, x2, x3)  =  U101(x1, x2, x3)
ACTIVE(x1)  =  ACTIVE(x1)
mark(x1)  =  x1
tt  =  tt
U102(x1, x2, x3)  =  U102(x1, x2, x3)
isNatKind(x1)  =  isNatKind
U103(x1, x2, x3)  =  U103(x1, x2, x3)
isNat(x1)  =  isNat
U104(x1, x2, x3)  =  U104(x1, x2, x3)
plus(x1, x2)  =  plus(x1, x2)
x(x1, x2)  =  x(x1, x2)
U11(x1, x2, x3)  =  x1
U12(x1, x2, x3)  =  x1
U13(x1, x2, x3)  =  x1
U14(x1, x2, x3)  =  x1
U15(x1, x2)  =  x1
U16(x1)  =  x1
U21(x1, x2)  =  x1
U22(x1, x2)  =  x1
U23(x1)  =  x1
U31(x1, x2, x3)  =  x1
U32(x1, x2, x3)  =  x1
U33(x1, x2, x3)  =  x1
U34(x1, x2, x3)  =  x1
U35(x1, x2)  =  x1
U36(x1)  =  x1
U41(x1, x2)  =  x1
U42(x1)  =  x1
U61(x1, x2)  =  x1
U62(x1)  =  x1
U71(x1, x2)  =  U71(x1, x2)
U72(x1, x2)  =  U72(x1, 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)
s(x1)  =  s(x1)
U91(x1, x2)  =  U91(x1)
U92(x1)  =  U92(x1)
U51(x1)  =  x1
0  =  0
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
[U1013, U1023, U1033, U1043, x2] > [MARK1, ACTIVE1] > [plus2, U813, U823, U833, U843] > U712 > [tt, isNatKind, isNat, U722, s1, U911, U921, 0]

Status:
MARK1: [1]
U1013: [2,3,1]
ACTIVE1: [1]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [2,3,1]
isNat: []
U1043: [2,3,1]
plus2: [2,1]
x2: [2,1]
U712: [1,2]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
s1: [1]
U911: [1]
U921: [1]
0: []


The following usable rules [FROCOS05] were oriented:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

(44) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
MARK(U104(X1, X2, X3)) → ACTIVE(U104(mark(X1), X2, X3))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
MARK(U16(X)) → ACTIVE(U16(mark(X)))
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U23(X)) → ACTIVE(U23(mark(X)))
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
MARK(U36(X)) → ACTIVE(U36(mark(X)))
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
ACTIVE(U91(tt, N)) → MARK(U92(isNatKind(N)))
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X)) → ACTIVE(U62(mark(X)))
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
MARK(U71(X1, X2)) → ACTIVE(U71(mark(X1), X2))
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
MARK(U72(X1, X2)) → ACTIVE(U72(mark(X1), X2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))
MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(U91(X1, X2)) → ACTIVE(U91(mark(X1), X2))
MARK(U92(X)) → ACTIVE(U92(mark(X)))

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(45) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACTIVE(U91(tt, N)) → MARK(U92(isNatKind(N)))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  x1
U101(x1, x2, x3)  =  x1
ACTIVE(x1)  =  x1
mark(x1)  =  x1
tt  =  tt
U102(x1, x2, x3)  =  U102
isNatKind(x1)  =  isNatKind
U103(x1, x2, x3)  =  U103
isNat(x1)  =  isNat
U104(x1, x2, x3)  =  U104
U11(x1, x2, x3)  =  x1
U12(x1, x2, x3)  =  x1
U13(x1, x2, x3)  =  x1
plus(x1, x2)  =  x1
U14(x1, x2, x3)  =  x1
x(x1, x2)  =  x
U15(x1, x2)  =  x1
U16(x1)  =  x1
U21(x1, x2)  =  x1
U22(x1, x2)  =  x1
U23(x1)  =  x1
U31(x1, x2, x3)  =  x1
U32(x1, x2, x3)  =  x1
U33(x1, x2, x3)  =  x1
U34(x1, x2, x3)  =  x1
U35(x1, x2)  =  x1
U36(x1)  =  x1
U41(x1, x2)  =  x1
U42(x1)  =  x1
U61(x1, x2)  =  x1
U62(x1)  =  x1
U81(x1, x2, x3)  =  x3
U82(x1, x2, x3)  =  x3
U83(x1, x2, x3)  =  x3
U84(x1, x2, x3)  =  x3
U91(x1, x2)  =  U91
U92(x1)  =  U92
U51(x1)  =  x1
s(x1)  =  s
U71(x1, x2)  =  x2
U72(x1, x2)  =  x2
active(x1)  =  x1
0  =  0

Lexicographic path order with status [LPO].
Quasi-Precedence:
[tt, U102, isNatKind, U103, isNat, U104, x, U91] > U92 > 0 > s

Status:
tt: []
U102: []
isNatKind: []
U103: []
isNat: []
U104: []
x: []
U91: []
U92: []
s: []
0: []


The following usable rules [FROCOS05] were oriented:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

(46) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
MARK(U104(X1, X2, X3)) → ACTIVE(U104(mark(X1), X2, X3))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
MARK(U16(X)) → ACTIVE(U16(mark(X)))
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U23(X)) → ACTIVE(U23(mark(X)))
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
MARK(U36(X)) → ACTIVE(U36(mark(X)))
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
MARK(U62(X)) → ACTIVE(U62(mark(X)))
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
MARK(U71(X1, X2)) → ACTIVE(U71(mark(X1), X2))
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
MARK(U72(X1, X2)) → ACTIVE(U72(mark(X1), X2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))
MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(U91(X1, X2)) → ACTIVE(U91(mark(X1), X2))
MARK(U92(X)) → ACTIVE(U92(mark(X)))

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(47) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MARK(U104(X1, X2, X3)) → ACTIVE(U104(mark(X1), X2, X3))
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(U16(X)) → ACTIVE(U16(mark(X)))
MARK(U23(X)) → ACTIVE(U23(mark(X)))
MARK(U36(X)) → ACTIVE(U36(mark(X)))
MARK(U42(X)) → ACTIVE(U42(mark(X)))
MARK(U62(X)) → ACTIVE(U62(mark(X)))
MARK(U71(X1, X2)) → ACTIVE(U71(mark(X1), X2))
MARK(U72(X1, X2)) → ACTIVE(U72(mark(X1), X2))
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(U91(X1, X2)) → ACTIVE(U91(mark(X1), X2))
MARK(U92(X)) → ACTIVE(U92(mark(X)))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  MARK
U101(x1, x2, x3)  =  U101
ACTIVE(x1)  =  x1
mark(x1)  =  mark
tt  =  tt
U102(x1, x2, x3)  =  U102
isNatKind(x1)  =  isNatKind
U103(x1, x2, x3)  =  U103
isNat(x1)  =  isNat
U104(x1, x2, x3)  =  U104
U11(x1, x2, x3)  =  U11
U12(x1, x2, x3)  =  U12
U13(x1, x2, x3)  =  U13
plus(x1, x2)  =  plus
U14(x1, x2, x3)  =  U14
x(x1, x2)  =  x
U15(x1, x2)  =  U15
U16(x1)  =  U16
U21(x1, x2)  =  U21
U22(x1, x2)  =  U22
U23(x1)  =  U23
U31(x1, x2, x3)  =  U31
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)  =  U41
U42(x1)  =  U42
U61(x1, x2)  =  U61
U62(x1)  =  U62
U81(x1, x2, x3)  =  U81
U82(x1, x2, x3)  =  U82
U83(x1, x2, x3)  =  U83
U84(x1, x2, x3)  =  U84
U51(x1)  =  U51
s(x1)  =  s
U71(x1, x2)  =  U71
U72(x1, x2)  =  U72
U91(x1, x2)  =  U91
U92(x1)  =  U92
active(x1)  =  active
0  =  0

Lexicographic path order with status [LPO].
Quasi-Precedence:
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > [U104, plus] > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U16 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U23 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U36 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U42 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U62 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > s > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U72 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U91 > [mark, U71, active]
tt > [MARK, U101, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U31, U32, U33, U34, U35, U41, U61, U81, U82, U83, U84, U51] > U92 > 0 > [mark, U71, active]

Status:
MARK: []
U101: []
mark: []
tt: []
U102: []
isNatKind: []
U103: []
isNat: []
U104: []
U11: []
U12: []
U13: []
plus: []
U14: []
x: []
U15: []
U16: []
U21: []
U22: []
U23: []
U31: []
U32: []
U33: []
U34: []
U35: []
U36: []
U41: []
U42: []
U61: []
U62: []
U81: []
U82: []
U83: []
U84: []
U51: []
s: []
U71: []
U72: []
U91: []
U92: []
active: []
0: []


The following usable rules [FROCOS05] were oriented:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

(48) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))
MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(49) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MARK(U84(X1, X2, X3)) → ACTIVE(U84(mark(X1), X2, X3))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  MARK
U101(x1, x2, x3)  =  U101
ACTIVE(x1)  =  x1
mark(x1)  =  mark
tt  =  tt
U102(x1, x2, x3)  =  U102
isNatKind(x1)  =  isNatKind
U103(x1, x2, x3)  =  U103
isNat(x1)  =  isNat
U104(x1, x2, x3)  =  U104
U11(x1, x2, x3)  =  U11
U12(x1, x2, x3)  =  U12
U13(x1, x2, x3)  =  U13
U14(x1, x2, x3)  =  U14
x(x1, x2)  =  x
U15(x1, x2)  =  U15
U16(x1)  =  U16
U21(x1, x2)  =  U21
U22(x1, x2)  =  U22
U23(x1)  =  U23
U31(x1, x2, x3)  =  U31
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)  =  U41
U42(x1)  =  U42
U61(x1, x2)  =  U61
U62(x1)  =  U62
U81(x1, x2, x3)  =  U81
U82(x1, x2, x3)  =  U82
U83(x1, x2, x3)  =  U83
U84(x1, x2, x3)  =  U84
U51(x1)  =  U51
plus(x1, x2)  =  plus
s(x1)  =  s
active(x1)  =  active
U71(x1, x2)  =  U71
U72(x1, x2)  =  U72
U91(x1, x2)  =  U91
U92(x1)  =  U92
0  =  0

Lexicographic path order with status [LPO].
Quasi-Precedence:
U16 > [MARK, U101, tt, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U23, U31, U32, U33, U34, U35, U41, U61, U62, U81, U82, U83, U51, U71, U72] > [mark, U104, U42, U84, plus, s, active, 0]
U36 > [MARK, U101, tt, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U23, U31, U32, U33, U34, U35, U41, U61, U62, U81, U82, U83, U51, U71, U72] > [mark, U104, U42, U84, plus, s, active, 0]
U91 > [MARK, U101, tt, U102, isNatKind, U103, isNat, U11, U12, U13, U14, x, U15, U21, U22, U23, U31, U32, U33, U34, U35, U41, U61, U62, U81, U82, U83, U51, U71, U72] > [mark, U104, U42, U84, plus, s, active, 0]
U91 > U92 > [mark, U104, U42, U84, plus, s, active, 0]

Status:
MARK: []
U101: []
mark: []
tt: []
U102: []
isNatKind: []
U103: []
isNat: []
U104: []
U11: []
U12: []
U13: []
U14: []
x: []
U15: []
U16: []
U21: []
U22: []
U23: []
U31: []
U32: []
U33: []
U34: []
U35: []
U36: []
U41: []
U42: []
U61: []
U62: []
U81: []
U82: []
U83: []
U84: []
U51: []
plus: []
s: []
active: []
U71: []
U72: []
U91: []
U92: []
0: []


The following usable rules [FROCOS05] were oriented:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

(50) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → MARK(X)
MARK(U51(X)) → ACTIVE(U51(mark(X)))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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

(51) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
MARK(U51(X)) → ACTIVE(U51(mark(X)))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  MARK
U101(x1, x2, x3)  =  U101
ACTIVE(x1)  =  x1
mark(x1)  =  mark
tt  =  tt
U102(x1, x2, x3)  =  U102
isNatKind(x1)  =  isNatKind
U103(x1, x2, x3)  =  U103
isNat(x1)  =  isNat
U104(x1, x2, x3)  =  U104
U11(x1, x2, x3)  =  U11
U12(x1, x2, x3)  =  U12
U13(x1, x2, x3)  =  U13
U14(x1, x2, x3)  =  U14
x(x1, x2)  =  x
U15(x1, x2)  =  U15
U16(x1)  =  U16
U21(x1, x2)  =  U21
U22(x1, x2)  =  U22
U23(x1)  =  U23
U31(x1, x2, x3)  =  U31
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)  =  U41
U42(x1)  =  U42
U61(x1, x2)  =  U61
U62(x1)  =  U62
U81(x1, x2, x3)  =  U81
U82(x1, x2, x3)  =  U82
U83(x1, x2, x3)  =  U83
U84(x1, x2, x3)  =  U84
U51(x1)  =  U51
plus(x1, x2)  =  plus
s(x1)  =  s
active(x1)  =  active
U71(x1, x2)  =  U71
U72(x1, x2)  =  U72
U91(x1, x2)  =  U91
U92(x1)  =  U92
0  =  0

Lexicographic path order with status [LPO].
Quasi-Precedence:
[tt, U62, plus] > [MARK, U101, U102, isNatKind, U103, isNat, U104, U11, U12, U13, U14, U15, U16, U21, U22, U23, U31, U32, U33, U34, U35, U36, U41, U42, U61, U81, U82, U83] > x > [mark, U84, s, active, U71, U72, U91, U92, 0]
[tt, U62, plus] > [MARK, U101, U102, isNatKind, U103, isNat, U104, U11, U12, U13, U14, U15, U16, U21, U22, U23, U31, U32, U33, U34, U35, U36, U41, U42, U61, U81, U82, U83] > U51 > [mark, U84, s, active, U71, U72, U91, U92, 0]

Status:
MARK: []
U101: []
mark: []
tt: []
U102: []
isNatKind: []
U103: []
isNat: []
U104: []
U11: []
U12: []
U13: []
U14: []
x: []
U15: []
U16: []
U21: []
U22: []
U23: []
U31: []
U32: []
U33: []
U34: []
U35: []
U36: []
U41: []
U42: []
U61: []
U62: []
U81: []
U82: []
U83: []
U84: []
U51: []
plus: []
s: []
active: []
U71: []
U72: []
U91: []
U92: []
0: []


The following usable rules [FROCOS05] were oriented:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

(52) Obligation:

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

MARK(U101(X1, X2, X3)) → ACTIVE(U101(mark(X1), X2, X3))
ACTIVE(U101(tt, M, N)) → MARK(U102(isNatKind(M), M, N))
MARK(U102(X1, X2, X3)) → ACTIVE(U102(mark(X1), X2, X3))
ACTIVE(U102(tt, M, N)) → MARK(U103(isNat(N), M, N))
MARK(isNatKind(X)) → ACTIVE(isNatKind(X))
ACTIVE(U103(tt, M, N)) → MARK(U104(isNatKind(N), M, N))
MARK(U103(X1, X2, X3)) → ACTIVE(U103(mark(X1), X2, X3))
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U11(tt, V1, V2)) → MARK(U12(isNatKind(V1), V1, V2))
ACTIVE(U12(tt, V1, V2)) → MARK(U13(isNatKind(V2), V1, V2))
ACTIVE(U13(tt, V1, V2)) → MARK(U14(isNatKind(V2), V1, V2))
ACTIVE(U14(tt, V1, V2)) → MARK(U15(isNat(V1), V2))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U15(tt, V2)) → MARK(U16(isNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U21(tt, V1)) → MARK(U22(isNatKind(V1), V1))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U13(X1, X2, X3)) → ACTIVE(U13(mark(X1), X2, X3))
ACTIVE(U22(tt, V1)) → MARK(U23(isNat(V1)))
MARK(U13(X1, X2, X3)) → MARK(X1)
MARK(U14(X1, X2, X3)) → ACTIVE(U14(mark(X1), X2, X3))
ACTIVE(U31(tt, V1, V2)) → MARK(U32(isNatKind(V1), V1, V2))
MARK(U14(X1, X2, X3)) → MARK(X1)
MARK(U15(X1, X2)) → ACTIVE(U15(mark(X1), X2))
ACTIVE(U32(tt, V1, V2)) → MARK(U33(isNatKind(V2), V1, V2))
MARK(U15(X1, X2)) → MARK(X1)
ACTIVE(U33(tt, V1, V2)) → MARK(U34(isNatKind(V2), V1, V2))
MARK(U16(X)) → MARK(X)
MARK(U21(X1, X2)) → ACTIVE(U21(mark(X1), X2))
ACTIVE(U34(tt, V1, V2)) → MARK(U35(isNat(V1), V2))
MARK(U21(X1, X2)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(U35(tt, V2)) → MARK(U36(isNat(V2)))
MARK(U22(X1, X2)) → MARK(X1)
ACTIVE(U41(tt, V2)) → MARK(U42(isNatKind(V2)))
MARK(U23(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(U61(tt, V2)) → MARK(U62(isNatKind(V2)))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2, X3)) → ACTIVE(U32(mark(X1), X2, X3))
MARK(U32(X1, X2, X3)) → MARK(X1)
MARK(U33(X1, X2, X3)) → ACTIVE(U33(mark(X1), X2, X3))
MARK(U33(X1, X2, X3)) → MARK(X1)
MARK(U34(X1, X2, X3)) → ACTIVE(U34(mark(X1), X2, X3))
ACTIVE(U81(tt, M, N)) → MARK(U82(isNatKind(M), M, N))
MARK(U34(X1, X2, X3)) → MARK(X1)
MARK(U35(X1, X2)) → ACTIVE(U35(mark(X1), X2))
ACTIVE(U82(tt, M, N)) → MARK(U83(isNat(N), M, N))
MARK(U35(X1, X2)) → MARK(X1)
ACTIVE(U83(tt, M, N)) → MARK(U84(isNatKind(N), M, N))
MARK(U36(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → MARK(X)
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNatKind(V1), V1, V2))
MARK(U51(X)) → MARK(X)
MARK(U61(X1, X2)) → ACTIVE(U61(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(U21(isNatKind(V1), V1))
MARK(U61(X1, X2)) → MARK(X1)
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNatKind(V1), V1, V2))
MARK(U62(X)) → MARK(X)
ACTIVE(isNatKind(plus(V1, V2))) → MARK(U41(isNatKind(V1), V2))
ACTIVE(isNatKind(s(V1))) → MARK(U51(isNatKind(V1)))
MARK(U81(X1, X2, X3)) → ACTIVE(U81(mark(X1), X2, X3))
ACTIVE(isNatKind(x(V1, V2))) → MARK(U61(isNatKind(V1), V2))
MARK(U82(X1, X2, X3)) → ACTIVE(U82(mark(X1), X2, X3))
MARK(U83(X1, X2, X3)) → ACTIVE(U83(mark(X1), X2, X3))

The TRS R consists of the following rules:

active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
mark(U101(X1, X2, X3)) → active(U101(mark(X1), X2, X3))
mark(tt) → active(tt)
mark(U102(X1, X2, X3)) → active(U102(mark(X1), X2, X3))
mark(isNatKind(X)) → active(isNatKind(X))
mark(U103(X1, X2, X3)) → active(U103(mark(X1), X2, X3))
mark(isNat(X)) → active(isNat(X))
mark(U104(X1, X2, X3)) → active(U104(mark(X1), X2, X3))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U13(X1, X2, X3)) → active(U13(mark(X1), X2, X3))
mark(U14(X1, X2, X3)) → active(U14(mark(X1), X2, X3))
mark(U15(X1, X2)) → active(U15(mark(X1), X2))
mark(U16(X)) → active(U16(mark(X)))
mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U23(X)) → active(U23(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2, X3)) → active(U32(mark(X1), X2, X3))
mark(U33(X1, X2, X3)) → active(U33(mark(X1), X2, X3))
mark(U34(X1, X2, X3)) → active(U34(mark(X1), X2, X3))
mark(U35(X1, X2)) → active(U35(mark(X1), X2))
mark(U36(X)) → active(U36(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X)) → active(U51(mark(X)))
mark(U61(X1, X2)) → active(U61(mark(X1), X2))
mark(U62(X)) → active(U62(mark(X)))
mark(U71(X1, X2)) → active(U71(mark(X1), X2))
mark(U72(X1, X2)) → active(U72(mark(X1), X2))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))
mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))
mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(U91(X1, X2)) → active(U91(mark(X1), X2))
mark(U92(X)) → active(U92(mark(X)))
mark(0) → active(0)
U101(mark(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, mark(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, mark(X3)) → U101(X1, X2, X3)
U101(active(X1), X2, X3) → U101(X1, X2, X3)
U101(X1, active(X2), X3) → U101(X1, X2, X3)
U101(X1, X2, active(X3)) → U101(X1, X2, X3)
U102(mark(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, mark(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, mark(X3)) → U102(X1, X2, X3)
U102(active(X1), X2, X3) → U102(X1, X2, X3)
U102(X1, active(X2), X3) → U102(X1, X2, X3)
U102(X1, X2, active(X3)) → U102(X1, X2, X3)
isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)
U103(mark(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, mark(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, mark(X3)) → U103(X1, X2, X3)
U103(active(X1), X2, X3) → U103(X1, X2, X3)
U103(X1, active(X2), X3) → U103(X1, X2, X3)
U103(X1, X2, active(X3)) → U103(X1, X2, X3)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U104(mark(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, mark(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, mark(X3)) → U104(X1, X2, X3)
U104(active(X1), X2, X3) → U104(X1, X2, X3)
U104(X1, active(X2), X3) → U104(X1, X2, X3)
U104(X1, X2, active(X3)) → U104(X1, X2, X3)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
x(mark(X1), X2) → x(X1, X2)
x(X1, mark(X2)) → x(X1, X2)
x(active(X1), X2) → x(X1, X2)
x(X1, active(X2)) → x(X1, X2)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U13(mark(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, mark(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, mark(X3)) → U13(X1, X2, X3)
U13(active(X1), X2, X3) → U13(X1, X2, X3)
U13(X1, active(X2), X3) → U13(X1, X2, X3)
U13(X1, X2, active(X3)) → U13(X1, X2, X3)
U14(mark(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, mark(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, mark(X3)) → U14(X1, X2, X3)
U14(active(X1), X2, X3) → U14(X1, X2, X3)
U14(X1, active(X2), X3) → U14(X1, X2, X3)
U14(X1, X2, active(X3)) → U14(X1, X2, X3)
U15(mark(X1), X2) → U15(X1, X2)
U15(X1, mark(X2)) → U15(X1, X2)
U15(active(X1), X2) → U15(X1, X2)
U15(X1, active(X2)) → U15(X1, X2)
U16(mark(X)) → U16(X)
U16(active(X)) → U16(X)
U21(mark(X1), X2) → U21(X1, X2)
U21(X1, mark(X2)) → U21(X1, X2)
U21(active(X1), X2) → U21(X1, X2)
U21(X1, active(X2)) → U21(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U23(mark(X)) → U23(X)
U23(active(X)) → U23(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, mark(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, mark(X3)) → U32(X1, X2, X3)
U32(active(X1), X2, X3) → U32(X1, X2, X3)
U32(X1, active(X2), X3) → U32(X1, X2, X3)
U32(X1, X2, active(X3)) → U32(X1, X2, X3)
U33(mark(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, mark(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, mark(X3)) → U33(X1, X2, X3)
U33(active(X1), X2, X3) → U33(X1, X2, X3)
U33(X1, active(X2), X3) → U33(X1, X2, X3)
U33(X1, X2, active(X3)) → U33(X1, X2, X3)
U34(mark(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, mark(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, mark(X3)) → U34(X1, X2, X3)
U34(active(X1), X2, X3) → U34(X1, X2, X3)
U34(X1, active(X2), X3) → U34(X1, X2, X3)
U34(X1, X2, active(X3)) → U34(X1, X2, X3)
U35(mark(X1), X2) → U35(X1, X2)
U35(X1, mark(X2)) → U35(X1, X2)
U35(active(X1), X2) → U35(X1, X2)
U35(X1, active(X2)) → U35(X1, X2)
U36(mark(X)) → U36(X)
U36(active(X)) → U36(X)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X)) → U51(X)
U51(active(X)) → U51(X)
U61(mark(X1), X2) → U61(X1, X2)
U61(X1, mark(X2)) → U61(X1, X2)
U61(active(X1), X2) → U61(X1, X2)
U61(X1, active(X2)) → U61(X1, X2)
U62(mark(X)) → U62(X)
U62(active(X)) → U62(X)
U71(mark(X1), X2) → U71(X1, X2)
U71(X1, mark(X2)) → U71(X1, X2)
U71(active(X1), X2) → U71(X1, X2)
U71(X1, active(X2)) → U71(X1, X2)
U72(mark(X1), X2) → U72(X1, X2)
U72(X1, mark(X2)) → U72(X1, X2)
U72(active(X1), X2) → U72(X1, X2)
U72(X1, active(X2)) → U72(X1, X2)
U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)
U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)
U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)
U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U91(mark(X1), X2) → U91(X1, X2)
U91(X1, mark(X2)) → U91(X1, X2)
U91(active(X1), X2) → U91(X1, X2)
U91(X1, active(X2)) → U91(X1, X2)
U92(mark(X)) → U92(X)
U92(active(X)) → U92(X)

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