0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 QDPOrderProof (⇔)
↳11 QDP
↳12 PisEmptyProof (⇔)
↳13 TRUE
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 PisEmptyProof (⇔)
↳22 TRUE
↳23 QDP
↳24 QDPOrderProof (⇔)
↳25 QDP
↳26 QDPOrderProof (⇔)
↳27 QDP
↳28 QDPOrderProof (⇔)
↳29 QDP
↳30 PisEmptyProof (⇔)
↳31 TRUE
↳32 QDP
↳33 QDPOrderProof (⇔)
↳34 QDP
↳35 QDPOrderProof (⇔)
↳36 QDP
↳37 PisEmptyProof (⇔)
↳38 TRUE
↳39 QDP
↳40 QDPOrderProof (⇔)
↳41 QDP
↳42 QDPOrderProof (⇔)
↳43 QDP
↳44 QDPOrderProof (⇔)
↳45 QDP
↳46 PisEmptyProof (⇔)
↳47 TRUE
↳48 QDP
↳49 QDPOrderProof (⇔)
↳50 QDP
↳51 QDPOrderProof (⇔)
↳52 QDP
↳53 PisEmptyProof (⇔)
↳54 TRUE
↳55 QDP
↳56 QDPOrderProof (⇔)
↳57 QDP
↳58 QDPOrderProof (⇔)
↳59 QDP
↳60 QDPOrderProof (⇔)
↳61 QDP
↳62 PisEmptyProof (⇔)
↳63 TRUE
↳64 QDP
↳65 QDPOrderProof (⇔)
↳66 QDP
↳67 QDPOrderProof (⇔)
↳68 QDP
↳69 QDPOrderProof (⇔)
↳70 QDP
↳71 PisEmptyProof (⇔)
↳72 TRUE
↳73 QDP
↳74 QDPOrderProof (⇔)
↳75 QDP
↳76 QDPOrderProof (⇔)
↳77 QDP
↳78 QDPOrderProof (⇔)
↳79 QDP
↳80 PisEmptyProof (⇔)
↳81 TRUE
↳82 QDP
↳83 QDPOrderProof (⇔)
↳84 QDP
↳85 QDPOrderProof (⇔)
↳86 QDP
↳87 PisEmptyProof (⇔)
↳88 TRUE
↳89 QDP
↳90 QDPOrderProof (⇔)
↳91 QDP
↳92 QDPOrderProof (⇔)
↳93 QDP
↳94 QDPOrderProof (⇔)
↳95 QDP
↳96 PisEmptyProof (⇔)
↳97 TRUE
↳98 QDP
↳99 QDPOrderProof (⇔)
↳100 QDP
↳101 QDPOrderProof (⇔)
↳102 QDP
↳103 PisEmptyProof (⇔)
↳104 TRUE
↳105 QDP
↳106 QDPOrderProof (⇔)
↳107 QDP
↳108 QDPOrderProof (⇔)
↳109 QDP
↳110 PisEmptyProof (⇔)
↳111 TRUE
↳112 QDP
↳113 QDPOrderProof (⇔)
↳114 QDP
↳115 QDPOrderProof (⇔)
↳116 QDP
↳117 PisEmptyProof (⇔)
↳118 TRUE
↳119 QDP
↳120 QDPOrderProof (⇔)
↳121 QDP
↳122 QDPOrderProof (⇔)
↳123 QDP
↳124 QDPOrderProof (⇔)
↳125 QDP
↳126 PisEmptyProof (⇔)
↳127 TRUE
↳128 QDP
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
ACTIVE(U11(tt, V2)) → MARK(U12(isNat(V2)))
ACTIVE(U11(tt, V2)) → U121(isNat(V2))
ACTIVE(U11(tt, V2)) → ISNAT(V2)
ACTIVE(U12(tt)) → MARK(tt)
ACTIVE(U21(tt)) → MARK(tt)
ACTIVE(U31(tt, V2)) → MARK(U32(isNat(V2)))
ACTIVE(U31(tt, V2)) → U321(isNat(V2))
ACTIVE(U31(tt, V2)) → ISNAT(V2)
ACTIVE(U32(tt)) → MARK(tt)
ACTIVE(U41(tt, N)) → MARK(N)
ACTIVE(U51(tt, M, N)) → MARK(U52(isNat(N), M, N))
ACTIVE(U51(tt, M, N)) → U521(isNat(N), M, N)
ACTIVE(U51(tt, M, N)) → ISNAT(N)
ACTIVE(U52(tt, M, N)) → MARK(s(plus(N, M)))
ACTIVE(U52(tt, M, N)) → S(plus(N, M))
ACTIVE(U52(tt, M, N)) → PLUS(N, M)
ACTIVE(U61(tt)) → MARK(0)
ACTIVE(U71(tt, M, N)) → MARK(U72(isNat(N), M, N))
ACTIVE(U71(tt, M, N)) → U721(isNat(N), M, N)
ACTIVE(U71(tt, M, N)) → ISNAT(N)
ACTIVE(U72(tt, M, N)) → MARK(plus(x(N, M), N))
ACTIVE(U72(tt, M, N)) → PLUS(x(N, M), N)
ACTIVE(U72(tt, M, N)) → X(N, M)
ACTIVE(isNat(0)) → MARK(tt)
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNat(V1), V2))
ACTIVE(isNat(plus(V1, V2))) → U111(isNat(V1), V2)
ACTIVE(isNat(plus(V1, V2))) → ISNAT(V1)
ACTIVE(isNat(s(V1))) → MARK(U21(isNat(V1)))
ACTIVE(isNat(s(V1))) → U211(isNat(V1))
ACTIVE(isNat(s(V1))) → ISNAT(V1)
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNat(V1), V2))
ACTIVE(isNat(x(V1, V2))) → U311(isNat(V1), V2)
ACTIVE(isNat(x(V1, V2))) → ISNAT(V1)
ACTIVE(plus(N, 0)) → MARK(U41(isNat(N), N))
ACTIVE(plus(N, 0)) → U411(isNat(N), N)
ACTIVE(plus(N, 0)) → ISNAT(N)
ACTIVE(plus(N, s(M))) → MARK(U51(isNat(M), M, N))
ACTIVE(plus(N, s(M))) → U511(isNat(M), M, N)
ACTIVE(plus(N, s(M))) → ISNAT(M)
ACTIVE(x(N, 0)) → MARK(U61(isNat(N)))
ACTIVE(x(N, 0)) → U611(isNat(N))
ACTIVE(x(N, 0)) → ISNAT(N)
ACTIVE(x(N, s(M))) → MARK(U71(isNat(M), M, N))
ACTIVE(x(N, s(M))) → U711(isNat(M), M, N)
ACTIVE(x(N, s(M))) → ISNAT(M)
MARK(U11(X1, X2)) → ACTIVE(U11(mark(X1), X2))
MARK(U11(X1, X2)) → U111(mark(X1), X2)
MARK(U11(X1, X2)) → MARK(X1)
MARK(tt) → ACTIVE(tt)
MARK(U12(X)) → ACTIVE(U12(mark(X)))
MARK(U12(X)) → U121(mark(X))
MARK(U12(X)) → MARK(X)
MARK(isNat(X)) → ACTIVE(isNat(X))
MARK(U21(X)) → ACTIVE(U21(mark(X)))
MARK(U21(X)) → U211(mark(X))
MARK(U21(X)) → MARK(X)
MARK(U31(X1, X2)) → ACTIVE(U31(mark(X1), X2))
MARK(U31(X1, X2)) → U311(mark(X1), X2)
MARK(U31(X1, X2)) → MARK(X1)
MARK(U32(X)) → ACTIVE(U32(mark(X)))
MARK(U32(X)) → U321(mark(X))
MARK(U32(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(U51(X1, X2, X3)) → ACTIVE(U51(mark(X1), X2, X3))
MARK(U51(X1, X2, X3)) → U511(mark(X1), X2, X3)
MARK(U51(X1, X2, X3)) → MARK(X1)
MARK(U52(X1, X2, X3)) → ACTIVE(U52(mark(X1), X2, X3))
MARK(U52(X1, X2, X3)) → U521(mark(X1), X2, X3)
MARK(U52(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(s(X)) → S(mark(X))
MARK(s(X)) → MARK(X)
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(U61(X)) → ACTIVE(U61(mark(X)))
MARK(U61(X)) → U611(mark(X))
MARK(U61(X)) → MARK(X)
MARK(0) → ACTIVE(0)
MARK(U71(X1, X2, X3)) → ACTIVE(U71(mark(X1), X2, X3))
MARK(U71(X1, X2, X3)) → U711(mark(X1), X2, X3)
MARK(U71(X1, X2, X3)) → MARK(X1)
MARK(U72(X1, X2, X3)) → ACTIVE(U72(mark(X1), X2, X3))
MARK(U72(X1, X2, X3)) → U721(mark(X1), X2, X3)
MARK(U72(X1, X2, X3)) → MARK(X1)
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)
U111(mark(X1), X2) → U111(X1, X2)
U111(X1, mark(X2)) → U111(X1, X2)
U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
ISNAT(mark(X)) → ISNAT(X)
ISNAT(active(X)) → ISNAT(X)
U211(mark(X)) → U211(X)
U211(active(X)) → U211(X)
U311(mark(X1), X2) → U311(X1, X2)
U311(X1, mark(X2)) → U311(X1, X2)
U311(active(X1), X2) → U311(X1, X2)
U311(X1, active(X2)) → U311(X1, X2)
U321(mark(X)) → U321(X)
U321(active(X)) → U321(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)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(X1, mark(X2), X3) → U511(X1, X2, X3)
U511(X1, X2, mark(X3)) → U511(X1, X2, X3)
U511(active(X1), X2, X3) → U511(X1, X2, X3)
U511(X1, active(X2), X3) → U511(X1, X2, X3)
U511(X1, X2, active(X3)) → U511(X1, X2, X3)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(X1, mark(X2), X3) → U521(X1, X2, X3)
U521(X1, X2, mark(X3)) → U521(X1, X2, X3)
U521(active(X1), X2, X3) → U521(X1, X2, X3)
U521(X1, active(X2), X3) → U521(X1, X2, X3)
U521(X1, X2, active(X3)) → U521(X1, X2, X3)
S(mark(X)) → S(X)
S(active(X)) → S(X)
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)
U611(mark(X)) → U611(X)
U611(active(X)) → U611(X)
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(X1, mark(X2), X3) → U711(X1, X2, X3)
U711(X1, X2, mark(X3)) → U711(X1, X2, X3)
U711(active(X1), X2, X3) → U711(X1, X2, X3)
U711(X1, active(X2), X3) → U711(X1, X2, X3)
U711(X1, X2, active(X3)) → U711(X1, X2, X3)
U721(mark(X1), X2, X3) → U721(X1, X2, X3)
U721(X1, mark(X2), X3) → U721(X1, X2, X3)
U721(X1, X2, mark(X3)) → U721(X1, X2, X3)
U721(active(X1), X2, X3) → U721(X1, X2, X3)
U721(X1, active(X2), X3) → U721(X1, X2, X3)
U721(X1, X2, active(X3)) → U721(X1, X2, X3)
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)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
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)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
X(X1, mark(X2)) → X(X1, X2)
X(X1, active(X2)) → X(X1, X2)
trivial
X(mark(X1), X2) → X(X1, X2)
X(active(X1), X2) → X(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
X(mark(X1), X2) → X(X1, X2)
trivial
X(active(X1), X2) → X(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
X(active(X1), X2) → X(X1, X2)
active1 > X1
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U721(X1, mark(X2), X3) → U721(X1, X2, X3)
U721(mark(X1), X2, X3) → U721(X1, X2, X3)
U721(X1, X2, mark(X3)) → U721(X1, X2, X3)
U721(active(X1), X2, X3) → U721(X1, X2, X3)
U721(X1, active(X2), X3) → U721(X1, X2, X3)
U721(X1, X2, active(X3)) → U721(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U721(X1, X2, mark(X3)) → U721(X1, X2, X3)
U721(X1, X2, active(X3)) → U721(X1, X2, X3)
trivial
U721(X1, mark(X2), X3) → U721(X1, X2, X3)
U721(mark(X1), X2, X3) → U721(X1, X2, X3)
U721(active(X1), X2, X3) → U721(X1, X2, X3)
U721(X1, active(X2), X3) → U721(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U721(mark(X1), X2, X3) → U721(X1, X2, X3)
U721(active(X1), X2, X3) → U721(X1, X2, X3)
trivial
U721(X1, mark(X2), X3) → U721(X1, X2, X3)
U721(X1, active(X2), X3) → U721(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U721(X1, mark(X2), X3) → U721(X1, X2, X3)
U721(X1, active(X2), X3) → U721(X1, X2, X3)
mark1 > U72^11
active1 > U72^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U711(X1, mark(X2), X3) → U711(X1, X2, X3)
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(X1, X2, mark(X3)) → U711(X1, X2, X3)
U711(active(X1), X2, X3) → U711(X1, X2, X3)
U711(X1, active(X2), X3) → U711(X1, X2, X3)
U711(X1, X2, active(X3)) → U711(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(X1, X2, mark(X3)) → U711(X1, X2, X3)
U711(X1, X2, active(X3)) → U711(X1, X2, X3)
trivial
U711(X1, mark(X2), X3) → U711(X1, X2, X3)
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(active(X1), X2, X3) → U711(X1, X2, X3)
U711(X1, active(X2), X3) → U711(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(mark(X1), X2, X3) → U711(X1, X2, X3)
U711(active(X1), X2, X3) → U711(X1, X2, X3)
trivial
U711(X1, mark(X2), X3) → U711(X1, X2, X3)
U711(X1, active(X2), X3) → U711(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(X1, mark(X2), X3) → U711(X1, X2, X3)
U711(X1, active(X2), X3) → U711(X1, X2, X3)
mark1 > U71^11
active1 > U71^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U611(active(X)) → U611(X)
U611(mark(X)) → U611(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(active(X)) → U611(X)
trivial
U611(mark(X)) → U611(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(mark(X)) → U611(X)
mark1 > U61^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
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)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
trivial
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(mark(X1), X2) → PLUS(X1, X2)
trivial
PLUS(active(X1), X2) → PLUS(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(active(X1), X2) → PLUS(X1, X2)
active1 > PLUS1
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
S(active(X)) → S(X)
S(mark(X)) → S(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(active(X)) → S(X)
trivial
S(mark(X)) → S(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(mark(X)) → S(X)
mark1 > S1
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U521(X1, mark(X2), X3) → U521(X1, X2, X3)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(X1, X2, mark(X3)) → U521(X1, X2, X3)
U521(active(X1), X2, X3) → U521(X1, X2, X3)
U521(X1, active(X2), X3) → U521(X1, X2, X3)
U521(X1, X2, active(X3)) → U521(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U521(X1, X2, mark(X3)) → U521(X1, X2, X3)
U521(X1, X2, active(X3)) → U521(X1, X2, X3)
trivial
U521(X1, mark(X2), X3) → U521(X1, X2, X3)
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(active(X1), X2, X3) → U521(X1, X2, X3)
U521(X1, active(X2), X3) → U521(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U521(mark(X1), X2, X3) → U521(X1, X2, X3)
U521(active(X1), X2, X3) → U521(X1, X2, X3)
trivial
U521(X1, mark(X2), X3) → U521(X1, X2, X3)
U521(X1, active(X2), X3) → U521(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U521(X1, mark(X2), X3) → U521(X1, X2, X3)
U521(X1, active(X2), X3) → U521(X1, X2, X3)
mark1 > U52^11
active1 > U52^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U511(X1, mark(X2), X3) → U511(X1, X2, X3)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(X1, X2, mark(X3)) → U511(X1, X2, X3)
U511(active(X1), X2, X3) → U511(X1, X2, X3)
U511(X1, active(X2), X3) → U511(X1, X2, X3)
U511(X1, X2, active(X3)) → U511(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(X1, X2, mark(X3)) → U511(X1, X2, X3)
U511(X1, X2, active(X3)) → U511(X1, X2, X3)
trivial
U511(X1, mark(X2), X3) → U511(X1, X2, X3)
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(active(X1), X2, X3) → U511(X1, X2, X3)
U511(X1, active(X2), X3) → U511(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(mark(X1), X2, X3) → U511(X1, X2, X3)
U511(active(X1), X2, X3) → U511(X1, X2, X3)
trivial
U511(X1, mark(X2), X3) → U511(X1, X2, X3)
U511(X1, active(X2), X3) → U511(X1, X2, X3)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(X1, mark(X2), X3) → U511(X1, X2, X3)
U511(X1, active(X2), X3) → U511(X1, X2, X3)
mark1 > U51^11
active1 > U51^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
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)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(X1, mark(X2)) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)
trivial
U411(mark(X1), X2) → U411(X1, X2)
U411(active(X1), X2) → U411(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(mark(X1), X2) → U411(X1, X2)
trivial
U411(active(X1), X2) → U411(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(active(X1), X2) → U411(X1, X2)
active1 > U41^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U321(active(X)) → U321(X)
U321(mark(X)) → U321(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(active(X)) → U321(X)
trivial
U321(mark(X)) → U321(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(mark(X)) → U321(X)
mark1 > U32^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U311(X1, mark(X2)) → U311(X1, X2)
U311(mark(X1), X2) → U311(X1, X2)
U311(active(X1), X2) → U311(X1, X2)
U311(X1, active(X2)) → U311(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(X1, mark(X2)) → U311(X1, X2)
U311(X1, active(X2)) → U311(X1, X2)
trivial
U311(mark(X1), X2) → U311(X1, X2)
U311(active(X1), X2) → U311(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(mark(X1), X2) → U311(X1, X2)
trivial
U311(active(X1), X2) → U311(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(active(X1), X2) → U311(X1, X2)
active1 > U31^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U211(active(X)) → U211(X)
U211(mark(X)) → U211(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(active(X)) → U211(X)
trivial
U211(mark(X)) → U211(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(mark(X)) → U211(X)
mark1 > U21^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
ISNAT(active(X)) → ISNAT(X)
ISNAT(mark(X)) → ISNAT(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNAT(active(X)) → ISNAT(X)
trivial
ISNAT(mark(X)) → ISNAT(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNAT(mark(X)) → ISNAT(X)
mark1 > ISNAT1
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
U121(active(X)) → U121(X)
U121(mark(X)) → U121(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(active(X)) → U121(X)
trivial
U121(mark(X)) → U121(X)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(mark(X)) → U121(X)
mark1 > U12^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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(X1, mark(X2)) → U111(X1, X2)
U111(mark(X1), X2) → U111(X1, X2)
U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(X1, mark(X2)) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)
trivial
U111(mark(X1), X2) → U111(X1, X2)
U111(active(X1), X2) → U111(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(mark(X1), X2) → U111(X1, X2)
trivial
U111(active(X1), X2) → U111(X1, X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(active(X1), X2) → U111(X1, X2)
active1 > U11^11
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)
MARK(U11(X1, X2)) → ACTIVE(U11(mark(X1), X2))
ACTIVE(U11(tt, V2)) → MARK(U12(isNat(V2)))
MARK(U11(X1, X2)) → MARK(X1)
MARK(U12(X)) → ACTIVE(U12(mark(X)))
ACTIVE(U31(tt, V2)) → MARK(U32(isNat(V2)))
MARK(U12(X)) → MARK(X)
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(U41(tt, N)) → MARK(N)
MARK(U21(X)) → ACTIVE(U21(mark(X)))
ACTIVE(U51(tt, M, N)) → MARK(U52(isNat(N), M, N))
MARK(U21(X)) → MARK(X)
MARK(U31(X1, X2)) → ACTIVE(U31(mark(X1), X2))
ACTIVE(U52(tt, M, N)) → MARK(s(plus(N, M)))
MARK(U31(X1, X2)) → MARK(X1)
MARK(U32(X)) → ACTIVE(U32(mark(X)))
ACTIVE(U71(tt, M, N)) → MARK(U72(isNat(N), M, N))
MARK(U32(X)) → MARK(X)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(U72(tt, M, N)) → MARK(plus(x(N, M), N))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U51(X1, X2, X3)) → ACTIVE(U51(mark(X1), X2, X3))
ACTIVE(isNat(plus(V1, V2))) → MARK(U11(isNat(V1), V2))
MARK(U51(X1, X2, X3)) → MARK(X1)
MARK(U52(X1, X2, X3)) → ACTIVE(U52(mark(X1), X2, X3))
ACTIVE(isNat(s(V1))) → MARK(U21(isNat(V1)))
MARK(U52(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
ACTIVE(isNat(x(V1, V2))) → MARK(U31(isNat(V1), V2))
MARK(s(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
ACTIVE(plus(N, 0)) → MARK(U41(isNat(N), N))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(U61(X)) → ACTIVE(U61(mark(X)))
ACTIVE(plus(N, s(M))) → MARK(U51(isNat(M), M, N))
MARK(U61(X)) → MARK(X)
MARK(U71(X1, X2, X3)) → ACTIVE(U71(mark(X1), X2, X3))
ACTIVE(x(N, 0)) → MARK(U61(isNat(N)))
MARK(U71(X1, X2, X3)) → MARK(X1)
MARK(U72(X1, X2, X3)) → ACTIVE(U72(mark(X1), X2, X3))
ACTIVE(x(N, s(M))) → MARK(U71(isNat(M), M, N))
MARK(U72(X1, X2, X3)) → MARK(X1)
MARK(x(X1, X2)) → ACTIVE(x(mark(X1), mark(X2)))
MARK(x(X1, X2)) → MARK(X1)
MARK(x(X1, X2)) → MARK(X2)
active(U11(tt, V2)) → mark(U12(isNat(V2)))
active(U12(tt)) → mark(tt)
active(U21(tt)) → mark(tt)
active(U31(tt, V2)) → mark(U32(isNat(V2)))
active(U32(tt)) → mark(tt)
active(U41(tt, N)) → mark(N)
active(U51(tt, M, N)) → mark(U52(isNat(N), M, N))
active(U52(tt, M, N)) → mark(s(plus(N, M)))
active(U61(tt)) → mark(0)
active(U71(tt, M, N)) → mark(U72(isNat(N), M, N))
active(U72(tt, M, N)) → mark(plus(x(N, M), N))
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNat(V1), V2))
active(isNat(s(V1))) → mark(U21(isNat(V1)))
active(isNat(x(V1, V2))) → mark(U31(isNat(V1), V2))
active(plus(N, 0)) → mark(U41(isNat(N), N))
active(plus(N, s(M))) → mark(U51(isNat(M), M, N))
active(x(N, 0)) → mark(U61(isNat(N)))
active(x(N, s(M))) → mark(U71(isNat(M), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNat(X)) → active(isNat(X))
mark(U21(X)) → active(U21(mark(X)))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))
mark(U32(X)) → active(U32(mark(X)))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U51(X1, X2, X3)) → active(U51(mark(X1), X2, X3))
mark(U52(X1, X2, X3)) → active(U52(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(U61(X)) → active(U61(mark(X)))
mark(0) → active(0)
mark(U71(X1, X2, X3)) → active(U71(mark(X1), X2, X3))
mark(U72(X1, X2, X3)) → active(U72(mark(X1), X2, X3))
mark(x(X1, X2)) → active(x(mark(X1), mark(X2)))
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)
U21(mark(X)) → U21(X)
U21(active(X)) → U21(X)
U31(mark(X1), X2) → U31(X1, X2)
U31(X1, mark(X2)) → U31(X1, X2)
U31(active(X1), X2) → U31(X1, X2)
U31(X1, active(X2)) → U31(X1, X2)
U32(mark(X)) → U32(X)
U32(active(X)) → U32(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)
U51(mark(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, mark(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, mark(X3)) → U51(X1, X2, X3)
U51(active(X1), X2, X3) → U51(X1, X2, X3)
U51(X1, active(X2), X3) → U51(X1, X2, X3)
U51(X1, X2, active(X3)) → U51(X1, X2, X3)
U52(mark(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, mark(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, mark(X3)) → U52(X1, X2, X3)
U52(active(X1), X2, X3) → U52(X1, X2, X3)
U52(X1, active(X2), X3) → U52(X1, X2, X3)
U52(X1, X2, active(X3)) → U52(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
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)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, mark(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, mark(X3)) → U71(X1, X2, X3)
U71(active(X1), X2, X3) → U71(X1, X2, X3)
U71(X1, active(X2), X3) → U71(X1, X2, X3)
U71(X1, X2, active(X3)) → U71(X1, X2, X3)
U72(mark(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, mark(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, mark(X3)) → U72(X1, X2, X3)
U72(active(X1), X2, X3) → U72(X1, X2, X3)
U72(X1, active(X2), X3) → U72(X1, X2, X3)
U72(X1, X2, active(X3)) → U72(X1, X2, X3)
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)