0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 PisEmptyProof (⇔)
↳14 TRUE
↳15 QDP
↳16 QDPOrderProof (⇔)
↳17 QDP
↳18 QDPOrderProof (⇔)
↳19 QDP
↳20 PisEmptyProof (⇔)
↳21 TRUE
↳22 QDP
↳23 QDPOrderProof (⇔)
↳24 QDP
↳25 QDPOrderProof (⇔)
↳26 QDP
↳27 PisEmptyProof (⇔)
↳28 TRUE
↳29 QDP
↳30 QDPOrderProof (⇔)
↳31 QDP
↳32 QDPOrderProof (⇔)
↳33 QDP
↳34 PisEmptyProof (⇔)
↳35 TRUE
↳36 QDP
↳37 QDPOrderProof (⇔)
↳38 QDP
↳39 QDPOrderProof (⇔)
↳40 QDP
↳41 PisEmptyProof (⇔)
↳42 TRUE
↳43 QDP
↳44 QDPOrderProof (⇔)
↳45 QDP
↳46 QDPOrderProof (⇔)
↳47 QDP
↳48 PisEmptyProof (⇔)
↳49 TRUE
↳50 QDP
↳51 QDPOrderProof (⇔)
↳52 QDP
↳53 QDPOrderProof (⇔)
↳54 QDP
↳55 PisEmptyProof (⇔)
↳56 TRUE
↳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 PisEmptyProof (⇔)
↳70 TRUE
↳71 QDP
↳72 QDPOrderProof (⇔)
↳73 QDP
↳74 QDPOrderProof (⇔)
↳75 QDP
↳76 PisEmptyProof (⇔)
↳77 TRUE
↳78 QDP
↳79 QDPOrderProof (⇔)
↳80 QDP
↳81 QDPOrderProof (⇔)
↳82 QDP
↳83 PisEmptyProof (⇔)
↳84 TRUE
↳85 QDP
↳86 QDPOrderProof (⇔)
↳87 QDP
↳88 QDPOrderProof (⇔)
↳89 QDP
↳90 PisEmptyProof (⇔)
↳91 TRUE
↳92 QDP
↳93 QDPOrderProof (⇔)
↳94 QDP
↳95 QDPOrderProof (⇔)
↳96 QDP
↳97 PisEmptyProof (⇔)
↳98 TRUE
↳99 QDP
↳100 QDPOrderProof (⇔)
↳101 QDP
↳102 QDPOrderProof (⇔)
↳103 QDP
↳104 PisEmptyProof (⇔)
↳105 TRUE
↳106 QDP
↳107 QDPOrderProof (⇔)
↳108 QDP
↳109 QDPOrderProof (⇔)
↳110 QDP
↳111 PisEmptyProof (⇔)
↳112 TRUE
↳113 QDP
↳114 QDPOrderProof (⇔)
↳115 QDP
↳116 QDPOrderProof (⇔)
↳117 QDP
↳118 PisEmptyProof (⇔)
↳119 TRUE
↳120 QDP
↳121 QDPOrderProof (⇔)
↳122 QDP
↳123 QDPOrderProof (⇔)
↳124 QDP
↳125 PisEmptyProof (⇔)
↳126 TRUE
↳127 QDP
↳128 QDPOrderProof (⇔)
↳129 QDP
↳130 QDPOrderProof (⇔)
↳131 QDP
↳132 PisEmptyProof (⇔)
↳133 TRUE
↳134 QDP
↳135 QDPOrderProof (⇔)
↳136 QDP
↳137 QDPOrderProof (⇔)
↳138 QDP
↳139 PisEmptyProof (⇔)
↳140 TRUE
↳141 QDP
↳142 QDPOrderProof (⇔)
↳143 QDP
↳144 QDPOrderProof (⇔)
↳145 QDP
↳146 PisEmptyProof (⇔)
↳147 TRUE
↳148 QDP
↳149 QDPOrderProof (⇔)
↳150 QDP
↳151 QDPOrderProof (⇔)
↳152 QDP
↳153 PisEmptyProof (⇔)
↳154 TRUE
↳155 QDP
↳156 QDPOrderProof (⇔)
↳157 QDP
↳158 QDPOrderProof (⇔)
↳159 QDP
↳160 PisEmptyProof (⇔)
↳161 TRUE
↳162 QDP
↳163 QDPOrderProof (⇔)
↳164 QDP
↳165 QDPOrderProof (⇔)
↳166 QDP
↳167 PisEmptyProof (⇔)
↳168 TRUE
↳169 QDP
↳170 QDPOrderProof (⇔)
↳171 QDP
↳172 QDPOrderProof (⇔)
↳173 QDP
↳174 PisEmptyProof (⇔)
↳175 TRUE
↳176 QDP
↳177 QDPOrderProof (⇔)
↳178 QDP
↳179 QDPOrderProof (⇔)
↳180 QDP
↳181 PisEmptyProof (⇔)
↳182 TRUE
↳183 QDP
↳184 QDPOrderProof (⇔)
↳185 QDP
↳186 QDPOrderProof (⇔)
↳187 QDP
↳188 PisEmptyProof (⇔)
↳189 TRUE
↳190 QDP
↳191 QDPOrderProof (⇔)
↳192 QDP
↳193 QDPOrderProof (⇔)
↳194 QDP
↳195 PisEmptyProof (⇔)
↳196 TRUE
↳197 QDP
↳198 QDPOrderProof (⇔)
↳199 QDP
↳200 QDPOrderProof (⇔)
↳201 QDP
↳202 PisEmptyProof (⇔)
↳203 TRUE
↳204 QDP
↳205 QDPOrderProof (⇔)
↳206 QDP
↳207 QDPOrderProof (⇔)
↳208 QDP
↳209 PisEmptyProof (⇔)
↳210 TRUE
↳211 QDP
↳212 QDPOrderProof (⇔)
↳213 QDP
↳214 QDPOrderProof (⇔)
↳215 QDP
↳216 PisEmptyProof (⇔)
↳217 TRUE
↳218 QDP
↳219 QDPOrderProof (⇔)
↳220 QDP
↳221 QDPOrderProof (⇔)
↳222 QDP
↳223 PisEmptyProof (⇔)
↳224 TRUE
↳225 QDP
↳226 QDPOrderProof (⇔)
↳227 QDP
↳228 QDPOrderProof (⇔)
↳229 QDP
↳230 PisEmptyProof (⇔)
↳231 TRUE
↳232 QDP
↳233 QDPOrderProof (⇔)
↳234 QDP
↳235 QDPOrderProof (⇔)
↳236 QDP
↳237 PisEmptyProof (⇔)
↳238 TRUE
↳239 QDP
↳240 QDPOrderProof (⇔)
↳241 QDP
↳242 QDPOrderProof (⇔)
↳243 QDP
↳244 PisEmptyProof (⇔)
↳245 TRUE
↳246 QDP
↳247 QDPOrderProof (⇔)
↳248 QDP
↳249 QDPOrderProof (⇔)
↳250 QDP
↳251 PisEmptyProof (⇔)
↳252 TRUE
↳253 QDP
↳254 QDPOrderProof (⇔)
↳255 QDP
↳256 QDPOrderProof (⇔)
↳257 QDP
↳258 PisEmptyProof (⇔)
↳259 TRUE
↳260 QDP
↳261 QDPOrderProof (⇔)
↳262 QDP
↳263 QDPOrderProof (⇔)
↳264 QDP
↳265 QDPOrderProof (⇔)
↳266 QDP
↳267 QDPOrderProof (⇔)
↳268 QDP
↳269 QDPOrderProof (⇔)
↳270 QDP
↳271 QDPOrderProof (⇔)
↳272 QDP
↳273 QDPOrderProof (⇔)
↳274 QDP
↳275 PisEmptyProof (⇔)
↳276 TRUE
↳277 QDP
↳278 QDPOrderProof (⇔)
↳279 QDP
↳280 QDPOrderProof (⇔)
↳281 QDP
↳282 QDPOrderProof (⇔)
↳283 QDP
↳284 QDPOrderProof (⇔)
↳285 QDP
↳286 QDPOrderProof (⇔)
↳287 QDP
↳288 QDPOrderProof (⇔)
↳289 QDP
↳290 QDPOrderProof (⇔)
↳291 QDP
↳292 PisEmptyProof (⇔)
↳293 TRUE
↳294 QDP
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U101(tt, M, N)) → U1021(isNatKind(M), M, N)
ACTIVE(U101(tt, M, N)) → ISNATKIND(M)
ACTIVE(U102(tt, M, N)) → U1031(isNat(N), M, N)
ACTIVE(U102(tt, M, N)) → ISNAT(N)
ACTIVE(U103(tt, M, N)) → U1041(isNatKind(N), M, N)
ACTIVE(U103(tt, M, N)) → ISNATKIND(N)
ACTIVE(U104(tt, M, N)) → PLUS(x(N, M), N)
ACTIVE(U104(tt, M, N)) → X(N, M)
ACTIVE(U11(tt, V1, V2)) → U121(isNatKind(V1), V1, V2)
ACTIVE(U11(tt, V1, V2)) → ISNATKIND(V1)
ACTIVE(U12(tt, V1, V2)) → U131(isNatKind(V2), V1, V2)
ACTIVE(U12(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U13(tt, V1, V2)) → U141(isNatKind(V2), V1, V2)
ACTIVE(U13(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U14(tt, V1, V2)) → U151(isNat(V1), V2)
ACTIVE(U14(tt, V1, V2)) → ISNAT(V1)
ACTIVE(U15(tt, V2)) → U161(isNat(V2))
ACTIVE(U15(tt, V2)) → ISNAT(V2)
ACTIVE(U21(tt, V1)) → U221(isNatKind(V1), V1)
ACTIVE(U21(tt, V1)) → ISNATKIND(V1)
ACTIVE(U22(tt, V1)) → U231(isNat(V1))
ACTIVE(U22(tt, V1)) → ISNAT(V1)
ACTIVE(U31(tt, V1, V2)) → U321(isNatKind(V1), V1, V2)
ACTIVE(U31(tt, V1, V2)) → ISNATKIND(V1)
ACTIVE(U32(tt, V1, V2)) → U331(isNatKind(V2), V1, V2)
ACTIVE(U32(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U33(tt, V1, V2)) → U341(isNatKind(V2), V1, V2)
ACTIVE(U33(tt, V1, V2)) → ISNATKIND(V2)
ACTIVE(U34(tt, V1, V2)) → U351(isNat(V1), V2)
ACTIVE(U34(tt, V1, V2)) → ISNAT(V1)
ACTIVE(U35(tt, V2)) → U361(isNat(V2))
ACTIVE(U35(tt, V2)) → ISNAT(V2)
ACTIVE(U41(tt, V2)) → U421(isNatKind(V2))
ACTIVE(U41(tt, V2)) → ISNATKIND(V2)
ACTIVE(U61(tt, V2)) → U621(isNatKind(V2))
ACTIVE(U61(tt, V2)) → ISNATKIND(V2)
ACTIVE(U71(tt, N)) → U721(isNatKind(N), N)
ACTIVE(U71(tt, N)) → ISNATKIND(N)
ACTIVE(U81(tt, M, N)) → U821(isNatKind(M), M, N)
ACTIVE(U81(tt, M, N)) → ISNATKIND(M)
ACTIVE(U82(tt, M, N)) → U831(isNat(N), M, N)
ACTIVE(U82(tt, M, N)) → ISNAT(N)
ACTIVE(U83(tt, M, N)) → U841(isNatKind(N), M, N)
ACTIVE(U83(tt, M, N)) → ISNATKIND(N)
ACTIVE(U84(tt, M, N)) → S(plus(N, M))
ACTIVE(U84(tt, M, N)) → PLUS(N, M)
ACTIVE(U91(tt, N)) → U921(isNatKind(N))
ACTIVE(U91(tt, N)) → ISNATKIND(N)
ACTIVE(isNat(plus(V1, V2))) → U111(isNatKind(V1), V1, V2)
ACTIVE(isNat(plus(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNat(s(V1))) → U211(isNatKind(V1), V1)
ACTIVE(isNat(s(V1))) → ISNATKIND(V1)
ACTIVE(isNat(x(V1, V2))) → U311(isNatKind(V1), V1, V2)
ACTIVE(isNat(x(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNatKind(plus(V1, V2))) → U411(isNatKind(V1), V2)
ACTIVE(isNatKind(plus(V1, V2))) → ISNATKIND(V1)
ACTIVE(isNatKind(s(V1))) → U511(isNatKind(V1))
ACTIVE(isNatKind(s(V1))) → ISNATKIND(V1)
ACTIVE(isNatKind(x(V1, V2))) → U611(isNatKind(V1), V2)
ACTIVE(isNatKind(x(V1, V2))) → ISNATKIND(V1)
ACTIVE(plus(N, 0)) → U711(isNat(N), N)
ACTIVE(plus(N, 0)) → ISNAT(N)
ACTIVE(plus(N, s(M))) → U811(isNat(M), M, N)
ACTIVE(plus(N, s(M))) → ISNAT(M)
ACTIVE(x(N, 0)) → U911(isNat(N), N)
ACTIVE(x(N, 0)) → ISNAT(N)
ACTIVE(x(N, s(M))) → U1011(isNat(M), M, N)
ACTIVE(x(N, s(M))) → ISNAT(M)
ACTIVE(U101(X1, X2, X3)) → U1011(active(X1), X2, X3)
ACTIVE(U101(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U102(X1, X2, X3)) → U1021(active(X1), X2, X3)
ACTIVE(U102(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U103(X1, X2, X3)) → U1031(active(X1), X2, X3)
ACTIVE(U103(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U104(X1, X2, X3)) → U1041(active(X1), X2, X3)
ACTIVE(U104(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → PLUS(active(X1), X2)
ACTIVE(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → PLUS(X1, active(X2))
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(x(X1, X2)) → X(active(X1), X2)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → X(X1, active(X2))
ACTIVE(x(X1, X2)) → ACTIVE(X2)
ACTIVE(U11(X1, X2, X3)) → U111(active(X1), X2, X3)
ACTIVE(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2, X3)) → U121(active(X1), X2, X3)
ACTIVE(U12(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X1, X2, X3)) → U131(active(X1), X2, X3)
ACTIVE(U13(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U14(X1, X2, X3)) → U141(active(X1), X2, X3)
ACTIVE(U14(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U15(X1, X2)) → U151(active(X1), X2)
ACTIVE(U15(X1, X2)) → ACTIVE(X1)
ACTIVE(U16(X)) → U161(active(X))
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U21(X1, X2)) → U211(active(X1), X2)
ACTIVE(U21(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2)) → U221(active(X1), X2)
ACTIVE(U22(X1, X2)) → ACTIVE(X1)
ACTIVE(U23(X)) → U231(active(X))
ACTIVE(U23(X)) → ACTIVE(X)
ACTIVE(U31(X1, X2, X3)) → U311(active(X1), X2, X3)
ACTIVE(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → U321(active(X1), X2, X3)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U33(X1, X2, X3)) → U331(active(X1), X2, X3)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U34(X1, X2, X3)) → U341(active(X1), X2, X3)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U35(X1, X2)) → U351(active(X1), X2)
ACTIVE(U35(X1, X2)) → ACTIVE(X1)
ACTIVE(U36(X)) → U361(active(X))
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U41(X1, X2)) → U411(active(X1), X2)
ACTIVE(U41(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X)) → U421(active(X))
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → U511(active(X))
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U61(X1, X2)) → U611(active(X1), X2)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U62(X)) → U621(active(X))
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U71(X1, X2)) → U711(active(X1), X2)
ACTIVE(U71(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → U721(active(X1), X2)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2, X3)) → U811(active(X1), X2, X3)
ACTIVE(U81(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U82(X1, X2, X3)) → U821(active(X1), X2, X3)
ACTIVE(U82(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U83(X1, X2, X3)) → U831(active(X1), X2, X3)
ACTIVE(U83(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U84(X1, X2, X3)) → U841(active(X1), X2, X3)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(s(X)) → S(active(X))
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(U91(X1, X2)) → U911(active(X1), X2)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → U921(active(X))
ACTIVE(U92(X)) → ACTIVE(X)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
X(mark(X1), X2) → X(X1, X2)
X(X1, mark(X2)) → X(X1, X2)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
U151(mark(X1), X2) → U151(X1, X2)
U161(mark(X)) → U161(X)
U211(mark(X1), X2) → U211(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
U231(mark(X)) → U231(X)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
U351(mark(X1), X2) → U351(X1, X2)
U361(mark(X)) → U361(X)
U411(mark(X1), X2) → U411(X1, X2)
U421(mark(X)) → U421(X)
U511(mark(X)) → U511(X)
U611(mark(X1), X2) → U611(X1, X2)
U621(mark(X)) → U621(X)
U711(mark(X1), X2) → U711(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)
U811(mark(X1), X2, X3) → U811(X1, X2, X3)
U821(mark(X1), X2, X3) → U821(X1, X2, X3)
U831(mark(X1), X2, X3) → U831(X1, X2, X3)
U841(mark(X1), X2, X3) → U841(X1, X2, X3)
S(mark(X)) → S(X)
U911(mark(X1), X2) → U911(X1, X2)
U921(mark(X)) → U921(X)
PROPER(U101(X1, X2, X3)) → U1011(proper(X1), proper(X2), proper(X3))
PROPER(U101(X1, X2, X3)) → PROPER(X1)
PROPER(U101(X1, X2, X3)) → PROPER(X2)
PROPER(U101(X1, X2, X3)) → PROPER(X3)
PROPER(U102(X1, X2, X3)) → U1021(proper(X1), proper(X2), proper(X3))
PROPER(U102(X1, X2, X3)) → PROPER(X1)
PROPER(U102(X1, X2, X3)) → PROPER(X2)
PROPER(U102(X1, X2, X3)) → PROPER(X3)
PROPER(isNatKind(X)) → ISNATKIND(proper(X))
PROPER(isNatKind(X)) → PROPER(X)
PROPER(U103(X1, X2, X3)) → U1031(proper(X1), proper(X2), proper(X3))
PROPER(U103(X1, X2, X3)) → PROPER(X1)
PROPER(U103(X1, X2, X3)) → PROPER(X2)
PROPER(U103(X1, X2, X3)) → PROPER(X3)
PROPER(isNat(X)) → ISNAT(proper(X))
PROPER(isNat(X)) → PROPER(X)
PROPER(U104(X1, X2, X3)) → U1041(proper(X1), proper(X2), proper(X3))
PROPER(U104(X1, X2, X3)) → PROPER(X1)
PROPER(U104(X1, X2, X3)) → PROPER(X2)
PROPER(U104(X1, X2, X3)) → PROPER(X3)
PROPER(plus(X1, X2)) → PLUS(proper(X1), proper(X2))
PROPER(plus(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X2)
PROPER(x(X1, X2)) → X(proper(X1), proper(X2))
PROPER(x(X1, X2)) → PROPER(X1)
PROPER(x(X1, X2)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → U111(proper(X1), proper(X2), proper(X3))
PROPER(U11(X1, X2, X3)) → PROPER(X1)
PROPER(U11(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X3)
PROPER(U12(X1, X2, X3)) → U121(proper(X1), proper(X2), proper(X3))
PROPER(U12(X1, X2, X3)) → PROPER(X1)
PROPER(U12(X1, X2, X3)) → PROPER(X2)
PROPER(U12(X1, X2, X3)) → PROPER(X3)
PROPER(U13(X1, X2, X3)) → U131(proper(X1), proper(X2), proper(X3))
PROPER(U13(X1, X2, X3)) → PROPER(X1)
PROPER(U13(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X1, X2, X3)) → PROPER(X3)
PROPER(U14(X1, X2, X3)) → U141(proper(X1), proper(X2), proper(X3))
PROPER(U14(X1, X2, X3)) → PROPER(X1)
PROPER(U14(X1, X2, X3)) → PROPER(X2)
PROPER(U14(X1, X2, X3)) → PROPER(X3)
PROPER(U15(X1, X2)) → U151(proper(X1), proper(X2))
PROPER(U15(X1, X2)) → PROPER(X1)
PROPER(U15(X1, X2)) → PROPER(X2)
PROPER(U16(X)) → U161(proper(X))
PROPER(U16(X)) → PROPER(X)
PROPER(U21(X1, X2)) → U211(proper(X1), proper(X2))
PROPER(U21(X1, X2)) → PROPER(X1)
PROPER(U21(X1, X2)) → PROPER(X2)
PROPER(U22(X1, X2)) → U221(proper(X1), proper(X2))
PROPER(U22(X1, X2)) → PROPER(X1)
PROPER(U22(X1, X2)) → PROPER(X2)
PROPER(U23(X)) → U231(proper(X))
PROPER(U23(X)) → PROPER(X)
PROPER(U31(X1, X2, X3)) → U311(proper(X1), proper(X2), proper(X3))
PROPER(U31(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2, X3)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → PROPER(X3)
PROPER(U32(X1, X2, X3)) → U321(proper(X1), proper(X2), proper(X3))
PROPER(U32(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2, X3)) → PROPER(X2)
PROPER(U32(X1, X2, X3)) → PROPER(X3)
PROPER(U33(X1, X2, X3)) → U331(proper(X1), proper(X2), proper(X3))
PROPER(U33(X1, X2, X3)) → PROPER(X1)
PROPER(U33(X1, X2, X3)) → PROPER(X2)
PROPER(U33(X1, X2, X3)) → PROPER(X3)
PROPER(U34(X1, X2, X3)) → U341(proper(X1), proper(X2), proper(X3))
PROPER(U34(X1, X2, X3)) → PROPER(X1)
PROPER(U34(X1, X2, X3)) → PROPER(X2)
PROPER(U34(X1, X2, X3)) → PROPER(X3)
PROPER(U35(X1, X2)) → U351(proper(X1), proper(X2))
PROPER(U35(X1, X2)) → PROPER(X1)
PROPER(U35(X1, X2)) → PROPER(X2)
PROPER(U36(X)) → U361(proper(X))
PROPER(U36(X)) → PROPER(X)
PROPER(U41(X1, X2)) → U411(proper(X1), proper(X2))
PROPER(U41(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2)) → PROPER(X2)
PROPER(U42(X)) → U421(proper(X))
PROPER(U42(X)) → PROPER(X)
PROPER(U51(X)) → U511(proper(X))
PROPER(U51(X)) → PROPER(X)
PROPER(U61(X1, X2)) → U611(proper(X1), proper(X2))
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U62(X)) → U621(proper(X))
PROPER(U62(X)) → PROPER(X)
PROPER(U71(X1, X2)) → U711(proper(X1), proper(X2))
PROPER(U71(X1, X2)) → PROPER(X1)
PROPER(U71(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → U721(proper(X1), proper(X2))
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → U811(proper(X1), proper(X2), proper(X3))
PROPER(U81(X1, X2, X3)) → PROPER(X1)
PROPER(U81(X1, X2, X3)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → PROPER(X3)
PROPER(U82(X1, X2, X3)) → U821(proper(X1), proper(X2), proper(X3))
PROPER(U82(X1, X2, X3)) → PROPER(X1)
PROPER(U82(X1, X2, X3)) → PROPER(X2)
PROPER(U82(X1, X2, X3)) → PROPER(X3)
PROPER(U83(X1, X2, X3)) → U831(proper(X1), proper(X2), proper(X3))
PROPER(U83(X1, X2, X3)) → PROPER(X1)
PROPER(U83(X1, X2, X3)) → PROPER(X2)
PROPER(U83(X1, X2, X3)) → PROPER(X3)
PROPER(U84(X1, X2, X3)) → U841(proper(X1), proper(X2), proper(X3))
PROPER(U84(X1, X2, X3)) → PROPER(X1)
PROPER(U84(X1, X2, X3)) → PROPER(X2)
PROPER(U84(X1, X2, X3)) → PROPER(X3)
PROPER(s(X)) → S(proper(X))
PROPER(s(X)) → PROPER(X)
PROPER(U91(X1, X2)) → U911(proper(X1), proper(X2))
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U92(X)) → U921(proper(X))
PROPER(U92(X)) → PROPER(X)
U1011(ok(X1), ok(X2), ok(X3)) → U1011(X1, X2, X3)
U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
ISNATKIND(ok(X)) → ISNATKIND(X)
U1031(ok(X1), ok(X2), ok(X3)) → U1031(X1, X2, X3)
ISNAT(ok(X)) → ISNAT(X)
U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)
X(ok(X1), ok(X2)) → X(X1, X2)
U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
U151(ok(X1), ok(X2)) → U151(X1, X2)
U161(ok(X)) → U161(X)
U211(ok(X1), ok(X2)) → U211(X1, X2)
U221(ok(X1), ok(X2)) → U221(X1, X2)
U231(ok(X)) → U231(X)
U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
U321(ok(X1), ok(X2), ok(X3)) → U321(X1, X2, X3)
U331(ok(X1), ok(X2), ok(X3)) → U331(X1, X2, X3)
U341(ok(X1), ok(X2), ok(X3)) → U341(X1, X2, X3)
U351(ok(X1), ok(X2)) → U351(X1, X2)
U361(ok(X)) → U361(X)
U411(ok(X1), ok(X2)) → U411(X1, X2)
U421(ok(X)) → U421(X)
U511(ok(X)) → U511(X)
U611(ok(X1), ok(X2)) → U611(X1, X2)
U621(ok(X)) → U621(X)
U711(ok(X1), ok(X2)) → U711(X1, X2)
U721(ok(X1), ok(X2)) → U721(X1, X2)
U811(ok(X1), ok(X2), ok(X3)) → U811(X1, X2, X3)
U821(ok(X1), ok(X2), ok(X3)) → U821(X1, X2, X3)
U831(ok(X1), ok(X2), ok(X3)) → U831(X1, X2, X3)
U841(ok(X1), ok(X2), ok(X3)) → U841(X1, X2, X3)
S(ok(X)) → S(X)
U911(ok(X1), ok(X2)) → U911(X1, X2)
U921(ok(X)) → U921(X)
TOP(mark(X)) → TOP(proper(X))
TOP(mark(X)) → PROPER(X)
TOP(ok(X)) → TOP(active(X))
TOP(ok(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ISNAT(ok(X)) → ISNAT(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNAT(ok(X)) → ISNAT(X)
ISNAT1 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ISNATKIND(ok(X)) → ISNATKIND(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATKIND(ok(X)) → ISNATKIND(X)
ISNATKIND1 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U921(ok(X)) → U921(X)
U921(mark(X)) → U921(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U921(mark(X)) → U921(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U921(ok(X)) → U921(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U921(ok(X)) → U921(X)
U92^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U911(ok(X1), ok(X2)) → U911(X1, X2)
U911(mark(X1), X2) → U911(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U911(mark(X1), X2) → U911(X1, X2)
active1 > U1033 > mark1
active1 > U1043 > x2 > mark1
active1 > U123 > isNatKind > tt > U323 > mark1
active1 > U123 > isNatKind > tt > U333 > mark1
active1 > U133 > isNatKind > tt > U323 > mark1
active1 > U133 > isNatKind > tt > U333 > mark1
active1 > U143 > isNat1 > isNatKind > tt > U323 > mark1
active1 > U143 > isNat1 > isNatKind > tt > U333 > mark1
active1 > U143 > isNat1 > U113 > mark1
active1 > U143 > isNat1 > U212 > U222 > mark1
active1 > U143 > U152 > mark1
active1 > U231 > tt > U323 > mark1
active1 > U231 > tt > U333 > mark1
active1 > U313 > isNatKind > tt > U323 > mark1
active1 > U313 > isNatKind > tt > U333 > mark1
active1 > U343 > mark1
active1 > U352 > U361 > tt > U323 > mark1
active1 > U352 > U361 > tt > U333 > mark1
active1 > U511 > tt > U323 > mark1
active1 > U511 > tt > U333 > mark1
active1 > U712 > isNatKind > tt > U323 > mark1
active1 > U712 > isNatKind > tt > U333 > mark1
active1 > U712 > U722 > mark1
active1 > U833 > U843 > plus2 > U113 > mark1
active1 > U833 > U843 > plus2 > U813 > U823 > mark1
active1 > s1 > U1013 > U1023 > mark1
active1 > s1 > U212 > U222 > mark1
active1 > s1 > U813 > U823 > mark1
active1 > 0 > mark1
proper1 > U1033 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U123 > isNatKind > tt > U323 > mark1
proper1 > U123 > isNatKind > tt > U333 > mark1
proper1 > U133 > isNatKind > tt > U323 > mark1
proper1 > U133 > isNatKind > tt > U333 > mark1
proper1 > U143 > isNat1 > isNatKind > tt > U323 > mark1
proper1 > U143 > isNat1 > isNatKind > tt > U333 > mark1
proper1 > U143 > isNat1 > U113 > mark1
proper1 > U143 > isNat1 > U212 > U222 > mark1
proper1 > U143 > U152 > mark1
proper1 > U231 > tt > U323 > mark1
proper1 > U231 > tt > U333 > mark1
proper1 > U313 > isNatKind > tt > U323 > mark1
proper1 > U313 > isNatKind > tt > U333 > mark1
proper1 > U343 > mark1
proper1 > U352 > U361 > tt > U323 > mark1
proper1 > U352 > U361 > tt > U333 > mark1
proper1 > U511 > tt > U323 > mark1
proper1 > U511 > tt > U333 > mark1
proper1 > U712 > isNatKind > tt > U323 > mark1
proper1 > U712 > isNatKind > tt > U333 > mark1
proper1 > U712 > U722 > mark1
proper1 > U833 > U843 > plus2 > U113 > mark1
proper1 > U833 > U843 > plus2 > U813 > U823 > mark1
proper1 > s1 > U1013 > U1023 > mark1
proper1 > s1 > U212 > U222 > mark1
proper1 > s1 > U813 > U823 > mark1
proper1 > 0 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U911(ok(X1), ok(X2)) → U911(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U911(ok(X1), ok(X2)) → U911(X1, X2)
U91^11 > mark
proper1 > isNatKind1 > tt > U1032 > ok1 > mark
proper1 > isNatKind1 > tt > U1043 > ok1 > mark
proper1 > isNatKind1 > tt > U123 > ok1 > mark
proper1 > isNatKind1 > tt > U142 > U151 > ok1 > mark
proper1 > isNatKind1 > tt > U341 > U351 > ok1 > mark
proper1 > isNatKind1 > tt > U721 > ok1 > mark
proper1 > isNatKind1 > tt > U821 > ok1 > mark
proper1 > isNatKind1 > tt > U833 > ok1 > mark
proper1 > isNatKind1 > tt > 0 > U711 > ok1 > mark
proper1 > isNatKind1 > U411 > ok1 > mark
proper1 > isNatKind1 > U612 > ok1 > mark
proper1 > U131 > U142 > U151 > ok1 > mark
proper1 > U231 > tt > U1032 > ok1 > mark
proper1 > U231 > tt > U1043 > ok1 > mark
proper1 > U231 > tt > U123 > ok1 > mark
proper1 > U231 > tt > U142 > U151 > ok1 > mark
proper1 > U231 > tt > U341 > U351 > ok1 > mark
proper1 > U231 > tt > U721 > ok1 > mark
proper1 > U231 > tt > U821 > ok1 > mark
proper1 > U231 > tt > U833 > ok1 > mark
proper1 > U231 > tt > 0 > U711 > ok1 > mark
proper1 > U312 > ok1 > mark
proper1 > U421 > tt > U1032 > ok1 > mark
proper1 > U421 > tt > U1043 > ok1 > mark
proper1 > U421 > tt > U123 > ok1 > mark
proper1 > U421 > tt > U142 > U151 > ok1 > mark
proper1 > U421 > tt > U341 > U351 > ok1 > mark
proper1 > U421 > tt > U721 > ok1 > mark
proper1 > U421 > tt > U821 > ok1 > mark
proper1 > U421 > tt > U833 > ok1 > mark
proper1 > U421 > tt > 0 > U711 > ok1 > mark
proper1 > U841 > s1 > U1012 > ok1 > mark
proper1 > U841 > s1 > U212 > ok1 > mark
proper1 > U841 > s1 > U813 > U821 > ok1 > mark
top > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
S(ok(X)) → S(X)
S(mark(X)) → S(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(mark(X)) → S(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
S(ok(X)) → S(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(ok(X)) → S(X)
S1 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U841(ok(X1), ok(X2), ok(X3)) → U841(X1, X2, X3)
U841(mark(X1), X2, X3) → U841(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U841(mark(X1), X2, X3) → U841(X1, X2, X3)
top > active1 > U1023 > isNat > tt > plus2 > mark1
top > active1 > U1023 > isNat > U311 > mark1
top > active1 > isNatKind > tt > plus2 > mark1
top > active1 > U1033 > U1043 > plus2 > mark1
top > active1 > U1033 > U1043 > x2 > U1013 > mark1
top > active1 > U1033 > U1043 > x2 > U912 > mark1
top > active1 > U131 > mark1
top > active1 > U331 > mark1
top > active1 > U813 > U823 > mark1
top > active1 > U833 > U843 > plus2 > mark1
top > active1 > U833 > U843 > s1 > U1013 > mark1
top > active1 > U921 > 0 > tt > plus2 > mark1
top > active1 > U921 > 0 > U712 > U722 > mark1
top > active1 > U921 > 0 > U912 > mark1
top > proper1 > U1023 > isNat > tt > plus2 > mark1
top > proper1 > U1023 > isNat > U311 > mark1
top > proper1 > isNatKind > tt > plus2 > mark1
top > proper1 > U1033 > U1043 > plus2 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > U1033 > U1043 > x2 > U912 > mark1
top > proper1 > U131 > mark1
top > proper1 > U331 > mark1
top > proper1 > U813 > U823 > mark1
top > proper1 > U833 > U843 > plus2 > mark1
top > proper1 > U833 > U843 > s1 > U1013 > mark1
top > proper1 > U921 > 0 > tt > plus2 > mark1
top > proper1 > U921 > 0 > U712 > U722 > mark1
top > proper1 > U921 > 0 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U841(ok(X1), ok(X2), ok(X3)) → U841(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U841(ok(X1), ok(X2), ok(X3)) → U841(X1, X2, X3)
active1 > U1023 > U1033 > ok1
active1 > U1023 > U1033 > mark1
active1 > U1043 > plus2 > U113 > ok1
active1 > U1043 > plus2 > U113 > mark1
active1 > U1043 > plus2 > U712 > isNatKind1 > tt > U352 > ok1
active1 > U1043 > plus2 > U712 > isNatKind1 > tt > U352 > mark1
active1 > U1043 > plus2 > U712 > isNatKind1 > tt > U843 > ok1
active1 > U1043 > plus2 > U712 > isNatKind1 > tt > U843 > mark1
active1 > U1043 > plus2 > U712 > isNatKind1 > U412 > ok1
active1 > U1043 > plus2 > U712 > isNatKind1 > U412 > mark1
active1 > U1043 > plus2 > U712 > U722 > ok1
active1 > U1043 > plus2 > U712 > U722 > mark1
active1 > U1043 > plus2 > U813 > U823 > U833 > U843 > ok1
active1 > U1043 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U1043 > x2 > U912 > ok1
active1 > U1043 > x2 > U912 > mark1
active1 > U123 > U133 > ok1
active1 > U123 > U133 > mark1
active1 > U143 > ok1
active1 > U143 > mark1
active1 > U152 > ok1
active1 > U152 > mark1
active1 > U222 > U231 > tt > U352 > ok1
active1 > U222 > U231 > tt > U352 > mark1
active1 > U222 > U231 > tt > U843 > ok1
active1 > U222 > U231 > tt > U843 > mark1
active1 > U313 > U323 > isNatKind1 > tt > U352 > ok1
active1 > U313 > U323 > isNatKind1 > tt > U352 > mark1
active1 > U313 > U323 > isNatKind1 > tt > U843 > ok1
active1 > U313 > U323 > isNatKind1 > tt > U843 > mark1
active1 > U313 > U323 > isNatKind1 > U412 > ok1
active1 > U313 > U323 > isNatKind1 > U412 > mark1
active1 > U313 > U323 > U333 > ok1
active1 > U313 > U323 > U333 > mark1
active1 > U343 > U352 > ok1
active1 > U343 > U352 > mark1
active1 > U421 > tt > U352 > ok1
active1 > U421 > tt > U352 > mark1
active1 > U421 > tt > U843 > ok1
active1 > U421 > tt > U843 > mark1
active1 > U511 > tt > U352 > ok1
active1 > U511 > tt > U352 > mark1
active1 > U511 > tt > U843 > ok1
active1 > U511 > tt > U843 > mark1
active1 > U612 > isNatKind1 > tt > U352 > ok1
active1 > U612 > isNatKind1 > tt > U352 > mark1
active1 > U612 > isNatKind1 > tt > U843 > ok1
active1 > U612 > isNatKind1 > tt > U843 > mark1
active1 > U612 > isNatKind1 > U412 > ok1
active1 > U612 > isNatKind1 > U412 > mark1
active1 > s1 > U1013 > isNatKind1 > tt > U352 > ok1
active1 > s1 > U1013 > isNatKind1 > tt > U352 > mark1
active1 > s1 > U1013 > isNatKind1 > tt > U843 > ok1
active1 > s1 > U1013 > isNatKind1 > tt > U843 > mark1
active1 > s1 > U1013 > isNatKind1 > U412 > ok1
active1 > s1 > U1013 > isNatKind1 > U412 > mark1
active1 > s1 > U212 > ok1
active1 > s1 > U212 > mark1
active1 > s1 > U813 > U823 > U833 > U843 > ok1
active1 > s1 > U813 > U823 > U833 > U843 > mark1
active1 > 0 > U712 > isNatKind1 > tt > U352 > ok1
active1 > 0 > U712 > isNatKind1 > tt > U352 > mark1
active1 > 0 > U712 > isNatKind1 > tt > U843 > ok1
active1 > 0 > U712 > isNatKind1 > tt > U843 > mark1
active1 > 0 > U712 > isNatKind1 > U412 > ok1
active1 > 0 > U712 > isNatKind1 > U412 > mark1
active1 > 0 > U712 > U722 > ok1
active1 > 0 > U712 > U722 > mark1
active1 > 0 > U912 > ok1
active1 > 0 > U912 > mark1
proper1 > U1023 > U1033 > ok1
proper1 > U1023 > U1033 > mark1
proper1 > U1043 > plus2 > U113 > ok1
proper1 > U1043 > plus2 > U113 > mark1
proper1 > U1043 > plus2 > U712 > isNatKind1 > tt > U352 > ok1
proper1 > U1043 > plus2 > U712 > isNatKind1 > tt > U352 > mark1
proper1 > U1043 > plus2 > U712 > isNatKind1 > tt > U843 > ok1
proper1 > U1043 > plus2 > U712 > isNatKind1 > tt > U843 > mark1
proper1 > U1043 > plus2 > U712 > isNatKind1 > U412 > ok1
proper1 > U1043 > plus2 > U712 > isNatKind1 > U412 > mark1
proper1 > U1043 > plus2 > U712 > U722 > ok1
proper1 > U1043 > plus2 > U712 > U722 > mark1
proper1 > U1043 > plus2 > U813 > U823 > U833 > U843 > ok1
proper1 > U1043 > plus2 > U813 > U823 > U833 > U843 > mark1
proper1 > U1043 > x2 > U912 > ok1
proper1 > U1043 > x2 > U912 > mark1
proper1 > U123 > U133 > ok1
proper1 > U123 > U133 > mark1
proper1 > U143 > ok1
proper1 > U143 > mark1
proper1 > U152 > ok1
proper1 > U152 > mark1
proper1 > U222 > U231 > tt > U352 > ok1
proper1 > U222 > U231 > tt > U352 > mark1
proper1 > U222 > U231 > tt > U843 > ok1
proper1 > U222 > U231 > tt > U843 > mark1
proper1 > U313 > U323 > isNatKind1 > tt > U352 > ok1
proper1 > U313 > U323 > isNatKind1 > tt > U352 > mark1
proper1 > U313 > U323 > isNatKind1 > tt > U843 > ok1
proper1 > U313 > U323 > isNatKind1 > tt > U843 > mark1
proper1 > U313 > U323 > isNatKind1 > U412 > ok1
proper1 > U313 > U323 > isNatKind1 > U412 > mark1
proper1 > U313 > U323 > U333 > ok1
proper1 > U313 > U323 > U333 > mark1
proper1 > U343 > U352 > ok1
proper1 > U343 > U352 > mark1
proper1 > U421 > tt > U352 > ok1
proper1 > U421 > tt > U352 > mark1
proper1 > U421 > tt > U843 > ok1
proper1 > U421 > tt > U843 > mark1
proper1 > U511 > tt > U352 > ok1
proper1 > U511 > tt > U352 > mark1
proper1 > U511 > tt > U843 > ok1
proper1 > U511 > tt > U843 > mark1
proper1 > U612 > isNatKind1 > tt > U352 > ok1
proper1 > U612 > isNatKind1 > tt > U352 > mark1
proper1 > U612 > isNatKind1 > tt > U843 > ok1
proper1 > U612 > isNatKind1 > tt > U843 > mark1
proper1 > U612 > isNatKind1 > U412 > ok1
proper1 > U612 > isNatKind1 > U412 > mark1
proper1 > s1 > U1013 > isNatKind1 > tt > U352 > ok1
proper1 > s1 > U1013 > isNatKind1 > tt > U352 > mark1
proper1 > s1 > U1013 > isNatKind1 > tt > U843 > ok1
proper1 > s1 > U1013 > isNatKind1 > tt > U843 > mark1
proper1 > s1 > U1013 > isNatKind1 > U412 > ok1
proper1 > s1 > U1013 > isNatKind1 > U412 > mark1
proper1 > s1 > U212 > ok1
proper1 > s1 > U212 > mark1
proper1 > s1 > U813 > U823 > U833 > U843 > ok1
proper1 > s1 > U813 > U823 > U833 > U843 > mark1
proper1 > 0 > U712 > isNatKind1 > tt > U352 > ok1
proper1 > 0 > U712 > isNatKind1 > tt > U352 > mark1
proper1 > 0 > U712 > isNatKind1 > tt > U843 > ok1
proper1 > 0 > U712 > isNatKind1 > tt > U843 > mark1
proper1 > 0 > U712 > isNatKind1 > U412 > ok1
proper1 > 0 > U712 > isNatKind1 > U412 > mark1
proper1 > 0 > U712 > U722 > ok1
proper1 > 0 > U712 > U722 > mark1
proper1 > 0 > U912 > ok1
proper1 > 0 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U831(ok(X1), ok(X2), ok(X3)) → U831(X1, X2, X3)
U831(mark(X1), X2, X3) → U831(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U831(mark(X1), X2, X3) → U831(X1, X2, X3)
U83^13 > mark1
active1 > U1023 > U1033 > isNatKind > tt > plus2 > mark1
active1 > U1023 > U1033 > isNatKind > tt > x2 > U1013 > mark1
active1 > U1023 > U1033 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U1023 > U1033 > isNatKind > tt > U231 > mark1
active1 > U1023 > U1033 > isNatKind > tt > U823 > mark1
active1 > U1023 > U1033 > isNatKind > U411 > mark1
active1 > U1023 > U1033 > U1043 > plus2 > mark1
active1 > U1023 > U1033 > U1043 > x2 > U1013 > mark1
active1 > U1023 > U1033 > U1043 > x2 > U611 > U621 > mark1
active1 > isNat1 > U313 > isNatKind > tt > plus2 > mark1
active1 > isNat1 > U313 > isNatKind > tt > x2 > U1013 > mark1
active1 > isNat1 > U313 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > isNat1 > U313 > isNatKind > tt > U231 > mark1
active1 > isNat1 > U313 > isNatKind > tt > U823 > mark1
active1 > isNat1 > U313 > isNatKind > U411 > mark1
active1 > U113 > U123 > isNatKind > tt > plus2 > mark1
active1 > U113 > U123 > isNatKind > tt > x2 > U1013 > mark1
active1 > U113 > U123 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U113 > U123 > isNatKind > tt > U231 > mark1
active1 > U113 > U123 > isNatKind > tt > U823 > mark1
active1 > U113 > U123 > isNatKind > U411 > mark1
active1 > U133 > isNatKind > tt > plus2 > mark1
active1 > U133 > isNatKind > tt > x2 > U1013 > mark1
active1 > U133 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U133 > isNatKind > tt > U231 > mark1
active1 > U133 > isNatKind > tt > U823 > mark1
active1 > U133 > isNatKind > U411 > mark1
active1 > U133 > U143 > mark1
active1 > U152 > mark1
active1 > U212 > isNatKind > tt > plus2 > mark1
active1 > U212 > isNatKind > tt > x2 > U1013 > mark1
active1 > U212 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U212 > isNatKind > tt > U231 > mark1
active1 > U212 > isNatKind > tt > U823 > mark1
active1 > U212 > isNatKind > U411 > mark1
active1 > U212 > U222 > U231 > mark1
active1 > U323 > isNatKind > tt > plus2 > mark1
active1 > U323 > isNatKind > tt > x2 > U1013 > mark1
active1 > U323 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U323 > isNatKind > tt > U231 > mark1
active1 > U323 > isNatKind > tt > U823 > mark1
active1 > U323 > isNatKind > U411 > mark1
active1 > U323 > U333 > mark1
active1 > U343 > U352 > mark1
active1 > U712 > isNatKind > tt > plus2 > mark1
active1 > U712 > isNatKind > tt > x2 > U1013 > mark1
active1 > U712 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U712 > isNatKind > tt > U231 > mark1
active1 > U712 > isNatKind > tt > U823 > mark1
active1 > U712 > isNatKind > U411 > mark1
active1 > U712 > U722 > mark1
active1 > U813 > isNatKind > tt > plus2 > mark1
active1 > U813 > isNatKind > tt > x2 > U1013 > mark1
active1 > U813 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > U813 > isNatKind > tt > U231 > mark1
active1 > U813 > isNatKind > tt > U823 > mark1
active1 > U813 > isNatKind > U411 > mark1
active1 > U833 > mark1
active1 > U843 > plus2 > mark1
active1 > 0 > U912 > isNatKind > tt > plus2 > mark1
active1 > 0 > U912 > isNatKind > tt > x2 > U1013 > mark1
active1 > 0 > U912 > isNatKind > tt > x2 > U611 > U621 > mark1
active1 > 0 > U912 > isNatKind > tt > U231 > mark1
active1 > 0 > U912 > isNatKind > tt > U823 > mark1
active1 > 0 > U912 > isNatKind > U411 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U831(ok(X1), ok(X2), ok(X3)) → U831(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U831(ok(X1), ok(X2), ok(X3)) → U831(X1, X2, X3)
active1 > U1013 > ok1 > U83^12
active1 > U1013 > mark1 > U83^12
active1 > U1023 > U1033 > U1043 > ok1 > U83^12
active1 > U1023 > U1033 > U1043 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U1043 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U1043 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U133 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U133 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U152 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U152 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U222 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U222 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U833 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U833 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > U843 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > U843 > mark1 > U83^12
active1 > U1023 > isNat1 > tt > 0 > ok1 > U83^12
active1 > U1023 > isNat1 > tt > 0 > mark1 > U83^12
active1 > U1023 > isNat1 > U113 > ok1 > U83^12
active1 > U1023 > isNat1 > U113 > mark1 > U83^12
active1 > U1023 > isNat1 > U212 > U222 > ok1 > U83^12
active1 > U1023 > isNat1 > U212 > U222 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U1043 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U1043 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U133 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U133 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U152 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U152 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U222 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U222 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U833 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U833 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > U843 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > U843 > mark1 > U83^12
active1 > plus2 > isNat1 > tt > 0 > ok1 > U83^12
active1 > plus2 > isNat1 > tt > 0 > mark1 > U83^12
active1 > plus2 > isNat1 > U113 > ok1 > U83^12
active1 > plus2 > isNat1 > U113 > mark1 > U83^12
active1 > plus2 > isNat1 > U212 > U222 > ok1 > U83^12
active1 > plus2 > isNat1 > U212 > U222 > mark1 > U83^12
active1 > plus2 > U712 > U722 > ok1 > U83^12
active1 > plus2 > U712 > U722 > mark1 > U83^12
active1 > plus2 > U813 > ok1 > U83^12
active1 > plus2 > U813 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U1043 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U1043 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U133 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U133 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U152 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U152 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U222 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U222 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U833 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U833 > mark1 > U83^12
active1 > x2 > isNat1 > tt > U843 > ok1 > U83^12
active1 > x2 > isNat1 > tt > U843 > mark1 > U83^12
active1 > x2 > isNat1 > tt > 0 > ok1 > U83^12
active1 > x2 > isNat1 > tt > 0 > mark1 > U83^12
active1 > x2 > isNat1 > U113 > ok1 > U83^12
active1 > x2 > isNat1 > U113 > mark1 > U83^12
active1 > x2 > isNat1 > U212 > U222 > ok1 > U83^12
active1 > x2 > isNat1 > U212 > U222 > mark1 > U83^12
active1 > x2 > U612 > ok1 > U83^12
active1 > x2 > U612 > mark1 > U83^12
active1 > U123 > U133 > ok1 > U83^12
active1 > U123 > U133 > mark1 > U83^12
active1 > U143 > U152 > ok1 > U83^12
active1 > U143 > U152 > mark1 > U83^12
active1 > U161 > tt > U1043 > ok1 > U83^12
active1 > U161 > tt > U1043 > mark1 > U83^12
active1 > U161 > tt > U133 > ok1 > U83^12
active1 > U161 > tt > U133 > mark1 > U83^12
active1 > U161 > tt > U152 > ok1 > U83^12
active1 > U161 > tt > U152 > mark1 > U83^12
active1 > U161 > tt > U222 > ok1 > U83^12
active1 > U161 > tt > U222 > mark1 > U83^12
active1 > U161 > tt > U833 > ok1 > U83^12
active1 > U161 > tt > U833 > mark1 > U83^12
active1 > U161 > tt > U843 > ok1 > U83^12
active1 > U161 > tt > U843 > mark1 > U83^12
active1 > U161 > tt > 0 > ok1 > U83^12
active1 > U161 > tt > 0 > mark1 > U83^12
active1 > U231 > tt > U1043 > ok1 > U83^12
active1 > U231 > tt > U1043 > mark1 > U83^12
active1 > U231 > tt > U133 > ok1 > U83^12
active1 > U231 > tt > U133 > mark1 > U83^12
active1 > U231 > tt > U152 > ok1 > U83^12
active1 > U231 > tt > U152 > mark1 > U83^12
active1 > U231 > tt > U222 > ok1 > U83^12
active1 > U231 > tt > U222 > mark1 > U83^12
active1 > U231 > tt > U833 > ok1 > U83^12
active1 > U231 > tt > U833 > mark1 > U83^12
active1 > U231 > tt > U843 > ok1 > U83^12
active1 > U231 > tt > U843 > mark1 > U83^12
active1 > U231 > tt > 0 > ok1 > U83^12
active1 > U231 > tt > 0 > mark1 > U83^12
active1 > U313 > U323 > ok1 > U83^12
active1 > U313 > U323 > mark1 > U83^12
active1 > U333 > ok1 > U83^12
active1 > U333 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U1043 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U1043 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U133 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U133 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U152 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U152 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U222 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U222 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U833 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U833 > mark1 > U83^12
active1 > U343 > isNat1 > tt > U843 > ok1 > U83^12
active1 > U343 > isNat1 > tt > U843 > mark1 > U83^12
active1 > U343 > isNat1 > tt > 0 > ok1 > U83^12
active1 > U343 > isNat1 > tt > 0 > mark1 > U83^12
active1 > U343 > isNat1 > U113 > ok1 > U83^12
active1 > U343 > isNat1 > U113 > mark1 > U83^12
active1 > U343 > isNat1 > U212 > U222 > ok1 > U83^12
active1 > U343 > isNat1 > U212 > U222 > mark1 > U83^12
active1 > U343 > U352 > ok1 > U83^12
active1 > U343 > U352 > mark1 > U83^12
active1 > U361 > tt > U1043 > ok1 > U83^12
active1 > U361 > tt > U1043 > mark1 > U83^12
active1 > U361 > tt > U133 > ok1 > U83^12
active1 > U361 > tt > U133 > mark1 > U83^12
active1 > U361 > tt > U152 > ok1 > U83^12
active1 > U361 > tt > U152 > mark1 > U83^12
active1 > U361 > tt > U222 > ok1 > U83^12
active1 > U361 > tt > U222 > mark1 > U83^12
active1 > U361 > tt > U833 > ok1 > U83^12
active1 > U361 > tt > U833 > mark1 > U83^12
active1 > U361 > tt > U843 > ok1 > U83^12
active1 > U361 > tt > U843 > mark1 > U83^12
active1 > U361 > tt > 0 > ok1 > U83^12
active1 > U361 > tt > 0 > mark1 > U83^12
active1 > U412 > ok1 > U83^12
active1 > U412 > mark1 > U83^12
active1 > U511 > tt > U1043 > ok1 > U83^12
active1 > U511 > tt > U1043 > mark1 > U83^12
active1 > U511 > tt > U133 > ok1 > U83^12
active1 > U511 > tt > U133 > mark1 > U83^12
active1 > U511 > tt > U152 > ok1 > U83^12
active1 > U511 > tt > U152 > mark1 > U83^12
active1 > U511 > tt > U222 > ok1 > U83^12
active1 > U511 > tt > U222 > mark1 > U83^12
active1 > U511 > tt > U833 > ok1 > U83^12
active1 > U511 > tt > U833 > mark1 > U83^12
active1 > U511 > tt > U843 > ok1 > U83^12
active1 > U511 > tt > U843 > mark1 > U83^12
active1 > U511 > tt > 0 > ok1 > U83^12
active1 > U511 > tt > 0 > mark1 > U83^12
active1 > U621 > tt > U1043 > ok1 > U83^12
active1 > U621 > tt > U1043 > mark1 > U83^12
active1 > U621 > tt > U133 > ok1 > U83^12
active1 > U621 > tt > U133 > mark1 > U83^12
active1 > U621 > tt > U152 > ok1 > U83^12
active1 > U621 > tt > U152 > mark1 > U83^12
active1 > U621 > tt > U222 > ok1 > U83^12
active1 > U621 > tt > U222 > mark1 > U83^12
active1 > U621 > tt > U833 > ok1 > U83^12
active1 > U621 > tt > U833 > mark1 > U83^12
active1 > U621 > tt > U843 > ok1 > U83^12
active1 > U621 > tt > U843 > mark1 > U83^12
active1 > U621 > tt > 0 > ok1 > U83^12
active1 > U621 > tt > 0 > mark1 > U83^12
active1 > U823 > U833 > ok1 > U83^12
active1 > U823 > U833 > mark1 > U83^12
active1 > U912 > ok1 > U83^12
active1 > U912 > mark1 > U83^12
proper1 > U1013 > ok1 > U83^12
proper1 > U1013 > mark1 > U83^12
proper1 > U1023 > U1033 > U1043 > ok1 > U83^12
proper1 > U1023 > U1033 > U1043 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U1043 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U1043 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U133 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U133 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U152 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U152 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U222 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U222 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U833 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U833 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > U843 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > U843 > mark1 > U83^12
proper1 > U1023 > isNat1 > tt > 0 > ok1 > U83^12
proper1 > U1023 > isNat1 > tt > 0 > mark1 > U83^12
proper1 > U1023 > isNat1 > U113 > ok1 > U83^12
proper1 > U1023 > isNat1 > U113 > mark1 > U83^12
proper1 > U1023 > isNat1 > U212 > U222 > ok1 > U83^12
proper1 > U1023 > isNat1 > U212 > U222 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U1043 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U1043 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U133 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U133 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U152 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U152 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U222 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U222 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U833 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U833 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > U843 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > U843 > mark1 > U83^12
proper1 > plus2 > isNat1 > tt > 0 > ok1 > U83^12
proper1 > plus2 > isNat1 > tt > 0 > mark1 > U83^12
proper1 > plus2 > isNat1 > U113 > ok1 > U83^12
proper1 > plus2 > isNat1 > U113 > mark1 > U83^12
proper1 > plus2 > isNat1 > U212 > U222 > ok1 > U83^12
proper1 > plus2 > isNat1 > U212 > U222 > mark1 > U83^12
proper1 > plus2 > U712 > U722 > ok1 > U83^12
proper1 > plus2 > U712 > U722 > mark1 > U83^12
proper1 > plus2 > U813 > ok1 > U83^12
proper1 > plus2 > U813 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U1043 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U1043 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U133 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U133 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U152 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U152 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U222 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U222 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U833 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U833 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > U843 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > U843 > mark1 > U83^12
proper1 > x2 > isNat1 > tt > 0 > ok1 > U83^12
proper1 > x2 > isNat1 > tt > 0 > mark1 > U83^12
proper1 > x2 > isNat1 > U113 > ok1 > U83^12
proper1 > x2 > isNat1 > U113 > mark1 > U83^12
proper1 > x2 > isNat1 > U212 > U222 > ok1 > U83^12
proper1 > x2 > isNat1 > U212 > U222 > mark1 > U83^12
proper1 > x2 > U612 > ok1 > U83^12
proper1 > x2 > U612 > mark1 > U83^12
proper1 > U123 > U133 > ok1 > U83^12
proper1 > U123 > U133 > mark1 > U83^12
proper1 > U143 > U152 > ok1 > U83^12
proper1 > U143 > U152 > mark1 > U83^12
proper1 > U161 > tt > U1043 > ok1 > U83^12
proper1 > U161 > tt > U1043 > mark1 > U83^12
proper1 > U161 > tt > U133 > ok1 > U83^12
proper1 > U161 > tt > U133 > mark1 > U83^12
proper1 > U161 > tt > U152 > ok1 > U83^12
proper1 > U161 > tt > U152 > mark1 > U83^12
proper1 > U161 > tt > U222 > ok1 > U83^12
proper1 > U161 > tt > U222 > mark1 > U83^12
proper1 > U161 > tt > U833 > ok1 > U83^12
proper1 > U161 > tt > U833 > mark1 > U83^12
proper1 > U161 > tt > U843 > ok1 > U83^12
proper1 > U161 > tt > U843 > mark1 > U83^12
proper1 > U161 > tt > 0 > ok1 > U83^12
proper1 > U161 > tt > 0 > mark1 > U83^12
proper1 > U231 > tt > U1043 > ok1 > U83^12
proper1 > U231 > tt > U1043 > mark1 > U83^12
proper1 > U231 > tt > U133 > ok1 > U83^12
proper1 > U231 > tt > U133 > mark1 > U83^12
proper1 > U231 > tt > U152 > ok1 > U83^12
proper1 > U231 > tt > U152 > mark1 > U83^12
proper1 > U231 > tt > U222 > ok1 > U83^12
proper1 > U231 > tt > U222 > mark1 > U83^12
proper1 > U231 > tt > U833 > ok1 > U83^12
proper1 > U231 > tt > U833 > mark1 > U83^12
proper1 > U231 > tt > U843 > ok1 > U83^12
proper1 > U231 > tt > U843 > mark1 > U83^12
proper1 > U231 > tt > 0 > ok1 > U83^12
proper1 > U231 > tt > 0 > mark1 > U83^12
proper1 > U313 > U323 > ok1 > U83^12
proper1 > U313 > U323 > mark1 > U83^12
proper1 > U333 > ok1 > U83^12
proper1 > U333 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U1043 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U1043 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U133 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U133 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U152 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U152 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U222 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U222 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U833 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U833 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > U843 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > U843 > mark1 > U83^12
proper1 > U343 > isNat1 > tt > 0 > ok1 > U83^12
proper1 > U343 > isNat1 > tt > 0 > mark1 > U83^12
proper1 > U343 > isNat1 > U113 > ok1 > U83^12
proper1 > U343 > isNat1 > U113 > mark1 > U83^12
proper1 > U343 > isNat1 > U212 > U222 > ok1 > U83^12
proper1 > U343 > isNat1 > U212 > U222 > mark1 > U83^12
proper1 > U343 > U352 > ok1 > U83^12
proper1 > U343 > U352 > mark1 > U83^12
proper1 > U361 > tt > U1043 > ok1 > U83^12
proper1 > U361 > tt > U1043 > mark1 > U83^12
proper1 > U361 > tt > U133 > ok1 > U83^12
proper1 > U361 > tt > U133 > mark1 > U83^12
proper1 > U361 > tt > U152 > ok1 > U83^12
proper1 > U361 > tt > U152 > mark1 > U83^12
proper1 > U361 > tt > U222 > ok1 > U83^12
proper1 > U361 > tt > U222 > mark1 > U83^12
proper1 > U361 > tt > U833 > ok1 > U83^12
proper1 > U361 > tt > U833 > mark1 > U83^12
proper1 > U361 > tt > U843 > ok1 > U83^12
proper1 > U361 > tt > U843 > mark1 > U83^12
proper1 > U361 > tt > 0 > ok1 > U83^12
proper1 > U361 > tt > 0 > mark1 > U83^12
proper1 > U412 > ok1 > U83^12
proper1 > U412 > mark1 > U83^12
proper1 > U511 > tt > U1043 > ok1 > U83^12
proper1 > U511 > tt > U1043 > mark1 > U83^12
proper1 > U511 > tt > U133 > ok1 > U83^12
proper1 > U511 > tt > U133 > mark1 > U83^12
proper1 > U511 > tt > U152 > ok1 > U83^12
proper1 > U511 > tt > U152 > mark1 > U83^12
proper1 > U511 > tt > U222 > ok1 > U83^12
proper1 > U511 > tt > U222 > mark1 > U83^12
proper1 > U511 > tt > U833 > ok1 > U83^12
proper1 > U511 > tt > U833 > mark1 > U83^12
proper1 > U511 > tt > U843 > ok1 > U83^12
proper1 > U511 > tt > U843 > mark1 > U83^12
proper1 > U511 > tt > 0 > ok1 > U83^12
proper1 > U511 > tt > 0 > mark1 > U83^12
proper1 > U621 > tt > U1043 > ok1 > U83^12
proper1 > U621 > tt > U1043 > mark1 > U83^12
proper1 > U621 > tt > U133 > ok1 > U83^12
proper1 > U621 > tt > U133 > mark1 > U83^12
proper1 > U621 > tt > U152 > ok1 > U83^12
proper1 > U621 > tt > U152 > mark1 > U83^12
proper1 > U621 > tt > U222 > ok1 > U83^12
proper1 > U621 > tt > U222 > mark1 > U83^12
proper1 > U621 > tt > U833 > ok1 > U83^12
proper1 > U621 > tt > U833 > mark1 > U83^12
proper1 > U621 > tt > U843 > ok1 > U83^12
proper1 > U621 > tt > U843 > mark1 > U83^12
proper1 > U621 > tt > 0 > ok1 > U83^12
proper1 > U621 > tt > 0 > mark1 > U83^12
proper1 > U823 > U833 > ok1 > U83^12
proper1 > U823 > U833 > mark1 > U83^12
proper1 > U912 > ok1 > U83^12
proper1 > U912 > mark1 > U83^12
top > U83^12
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U821(ok(X1), ok(X2), ok(X3)) → U821(X1, X2, X3)
U821(mark(X1), X2, X3) → U821(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U821(mark(X1), X2, X3) → U821(X1, X2, X3)
U82^12 > mark1
active1 > U1023 > mark1
active1 > U1033 > U1043 > plus2 > U712 > mark1
active1 > U1033 > U1043 > plus2 > U813 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > U1033 > U1043 > x2 > U313 > mark1
active1 > U113 > U123 > mark1
active1 > U133 > mark1
active1 > U143 > U152 > mark1
active1 > U222 > mark1
active1 > U333 > mark1
active1 > U343 > U352 > mark1
active1 > U412 > U421 > tt > U152 > mark1
active1 > U412 > U421 > tt > U323 > mark1
active1 > U412 > U421 > tt > U722 > mark1
active1 > U511 > tt > U152 > mark1
active1 > U511 > tt > U323 > mark1
active1 > U511 > tt > U722 > mark1
active1 > U612 > U621 > tt > U152 > mark1
active1 > U612 > U621 > tt > U323 > mark1
active1 > U612 > U621 > tt > U722 > mark1
active1 > U823 > mark1
active1 > U833 > U843 > mark1
active1 > s1 > U813 > mark1
active1 > 0 > isNat1 > tt > U152 > mark1
active1 > 0 > isNat1 > tt > U323 > mark1
active1 > 0 > isNat1 > tt > U722 > mark1
active1 > 0 > isNat1 > U212 > mark1
active1 > 0 > isNat1 > U313 > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U912 > U921 > mark1
proper1 > U1023 > mark1
proper1 > U1033 > U1043 > plus2 > U712 > mark1
proper1 > U1033 > U1043 > plus2 > U813 > mark1
proper1 > U1033 > U1043 > x2 > U1013 > mark1
proper1 > U1033 > U1043 > x2 > U313 > mark1
proper1 > isNat1 > tt > U152 > mark1
proper1 > isNat1 > tt > U323 > mark1
proper1 > isNat1 > tt > U722 > mark1
proper1 > isNat1 > U212 > mark1
proper1 > isNat1 > U313 > mark1
proper1 > U113 > U123 > mark1
proper1 > U133 > mark1
proper1 > U143 > U152 > mark1
proper1 > U222 > mark1
proper1 > U333 > mark1
proper1 > U343 > U352 > mark1
proper1 > U412 > U421 > tt > U152 > mark1
proper1 > U412 > U421 > tt > U323 > mark1
proper1 > U412 > U421 > tt > U722 > mark1
proper1 > U511 > tt > U152 > mark1
proper1 > U511 > tt > U323 > mark1
proper1 > U511 > tt > U722 > mark1
proper1 > U612 > U621 > tt > U152 > mark1
proper1 > U612 > U621 > tt > U323 > mark1
proper1 > U612 > U621 > tt > U722 > mark1
proper1 > U823 > mark1
proper1 > U833 > U843 > mark1
proper1 > s1 > U813 > mark1
proper1 > U912 > U921 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U821(ok(X1), ok(X2), ok(X3)) → U821(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U821(ok(X1), ok(X2), ok(X3)) → U821(X1, X2, X3)
proper1 > U1021 > active1 > U1013 > ok1 > mark
proper1 > U1021 > active1 > U1033 > ok1 > mark
proper1 > U1021 > active1 > U1042 > ok1 > mark
proper1 > U1021 > active1 > x2 > ok1 > mark
proper1 > U1021 > active1 > U122 > ok1 > mark
proper1 > U1021 > active1 > U133 > ok1 > mark
proper1 > U1021 > active1 > U161 > ok1 > mark
proper1 > U1021 > active1 > U161 > tt > mark
proper1 > U1021 > active1 > U231 > ok1 > mark
proper1 > U1021 > active1 > U231 > tt > mark
proper1 > U1021 > active1 > U352 > ok1 > mark
proper1 > U1021 > active1 > U361 > ok1 > mark
proper1 > U1021 > active1 > U361 > tt > mark
proper1 > U1021 > active1 > U411 > ok1 > mark
proper1 > U1021 > active1 > U421 > ok1 > mark
proper1 > U1021 > active1 > U421 > tt > mark
proper1 > U1021 > active1 > U621 > ok1 > mark
proper1 > U1021 > active1 > U621 > tt > mark
proper1 > U1021 > active1 > U711 > ok1 > mark
proper1 > U1021 > active1 > U721 > ok1 > mark
proper1 > U1021 > active1 > U813 > ok1 > mark
proper1 > U1021 > active1 > U823 > ok1 > mark
proper1 > U1021 > active1 > U833 > ok1 > mark
proper1 > U1021 > active1 > s1 > ok1 > mark
proper1 > U1021 > active1 > U921 > ok1 > mark
proper1 > U1021 > active1 > U921 > 0 > mark
proper1 > isNat1 > U312 > U322 > active1 > U1013 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U1033 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U1042 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > x2 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U122 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U133 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U161 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U161 > tt > mark
proper1 > isNat1 > U312 > U322 > active1 > U231 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U231 > tt > mark
proper1 > isNat1 > U312 > U322 > active1 > U352 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U361 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U361 > tt > mark
proper1 > isNat1 > U312 > U322 > active1 > U411 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U421 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U421 > tt > mark
proper1 > isNat1 > U312 > U322 > active1 > U621 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U621 > tt > mark
proper1 > isNat1 > U312 > U322 > active1 > U711 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U721 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U813 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U823 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U833 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > s1 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U921 > ok1 > mark
proper1 > isNat1 > U312 > U322 > active1 > U921 > 0 > mark
proper1 > isNat1 > U312 > U322 > isNatKind1 > tt > mark
proper1 > isNat1 > U312 > U322 > isNatKind1 > U411 > ok1 > mark
proper1 > U142 > active1 > U1013 > ok1 > mark
proper1 > U142 > active1 > U1033 > ok1 > mark
proper1 > U142 > active1 > U1042 > ok1 > mark
proper1 > U142 > active1 > x2 > ok1 > mark
proper1 > U142 > active1 > U122 > ok1 > mark
proper1 > U142 > active1 > U133 > ok1 > mark
proper1 > U142 > active1 > U161 > ok1 > mark
proper1 > U142 > active1 > U161 > tt > mark
proper1 > U142 > active1 > U231 > ok1 > mark
proper1 > U142 > active1 > U231 > tt > mark
proper1 > U142 > active1 > U352 > ok1 > mark
proper1 > U142 > active1 > U361 > ok1 > mark
proper1 > U142 > active1 > U361 > tt > mark
proper1 > U142 > active1 > U411 > ok1 > mark
proper1 > U142 > active1 > U421 > ok1 > mark
proper1 > U142 > active1 > U421 > tt > mark
proper1 > U142 > active1 > U621 > ok1 > mark
proper1 > U142 > active1 > U621 > tt > mark
proper1 > U142 > active1 > U711 > ok1 > mark
proper1 > U142 > active1 > U721 > ok1 > mark
proper1 > U142 > active1 > U813 > ok1 > mark
proper1 > U142 > active1 > U823 > ok1 > mark
proper1 > U142 > active1 > U833 > ok1 > mark
proper1 > U142 > active1 > s1 > ok1 > mark
proper1 > U142 > active1 > U921 > ok1 > mark
proper1 > U142 > active1 > U921 > 0 > mark
proper1 > U341 > active1 > U1013 > ok1 > mark
proper1 > U341 > active1 > U1033 > ok1 > mark
proper1 > U341 > active1 > U1042 > ok1 > mark
proper1 > U341 > active1 > x2 > ok1 > mark
proper1 > U341 > active1 > U122 > ok1 > mark
proper1 > U341 > active1 > U133 > ok1 > mark
proper1 > U341 > active1 > U161 > ok1 > mark
proper1 > U341 > active1 > U161 > tt > mark
proper1 > U341 > active1 > U231 > ok1 > mark
proper1 > U341 > active1 > U231 > tt > mark
proper1 > U341 > active1 > U352 > ok1 > mark
proper1 > U341 > active1 > U361 > ok1 > mark
proper1 > U341 > active1 > U361 > tt > mark
proper1 > U341 > active1 > U411 > ok1 > mark
proper1 > U341 > active1 > U421 > ok1 > mark
proper1 > U341 > active1 > U421 > tt > mark
proper1 > U341 > active1 > U621 > ok1 > mark
proper1 > U341 > active1 > U621 > tt > mark
proper1 > U341 > active1 > U711 > ok1 > mark
proper1 > U341 > active1 > U721 > ok1 > mark
proper1 > U341 > active1 > U813 > ok1 > mark
proper1 > U341 > active1 > U823 > ok1 > mark
proper1 > U341 > active1 > U833 > ok1 > mark
proper1 > U341 > active1 > s1 > ok1 > mark
proper1 > U341 > active1 > U921 > ok1 > mark
proper1 > U341 > active1 > U921 > 0 > mark
proper1 > U611 > active1 > U1013 > ok1 > mark
proper1 > U611 > active1 > U1033 > ok1 > mark
proper1 > U611 > active1 > U1042 > ok1 > mark
proper1 > U611 > active1 > x2 > ok1 > mark
proper1 > U611 > active1 > U122 > ok1 > mark
proper1 > U611 > active1 > U133 > ok1 > mark
proper1 > U611 > active1 > U161 > ok1 > mark
proper1 > U611 > active1 > U161 > tt > mark
proper1 > U611 > active1 > U231 > ok1 > mark
proper1 > U611 > active1 > U231 > tt > mark
proper1 > U611 > active1 > U352 > ok1 > mark
proper1 > U611 > active1 > U361 > ok1 > mark
proper1 > U611 > active1 > U361 > tt > mark
proper1 > U611 > active1 > U411 > ok1 > mark
proper1 > U611 > active1 > U421 > ok1 > mark
proper1 > U611 > active1 > U421 > tt > mark
proper1 > U611 > active1 > U621 > ok1 > mark
proper1 > U611 > active1 > U621 > tt > mark
proper1 > U611 > active1 > U711 > ok1 > mark
proper1 > U611 > active1 > U721 > ok1 > mark
proper1 > U611 > active1 > U813 > ok1 > mark
proper1 > U611 > active1 > U823 > ok1 > mark
proper1 > U611 > active1 > U833 > ok1 > mark
proper1 > U611 > active1 > s1 > ok1 > mark
proper1 > U611 > active1 > U921 > ok1 > mark
proper1 > U611 > active1 > U921 > 0 > mark
proper1 > U611 > isNatKind1 > tt > mark
proper1 > U611 > isNatKind1 > U411 > ok1 > mark
top > active1 > U1013 > ok1 > mark
top > active1 > U1033 > ok1 > mark
top > active1 > U1042 > ok1 > mark
top > active1 > x2 > ok1 > mark
top > active1 > U122 > ok1 > mark
top > active1 > U133 > ok1 > mark
top > active1 > U161 > ok1 > mark
top > active1 > U161 > tt > mark
top > active1 > U231 > ok1 > mark
top > active1 > U231 > tt > mark
top > active1 > U352 > ok1 > mark
top > active1 > U361 > ok1 > mark
top > active1 > U361 > tt > mark
top > active1 > U411 > ok1 > mark
top > active1 > U421 > ok1 > mark
top > active1 > U421 > tt > mark
top > active1 > U621 > ok1 > mark
top > active1 > U621 > tt > mark
top > active1 > U711 > ok1 > mark
top > active1 > U721 > ok1 > mark
top > active1 > U813 > ok1 > mark
top > active1 > U823 > ok1 > mark
top > active1 > U833 > ok1 > mark
top > active1 > s1 > ok1 > mark
top > active1 > U921 > ok1 > mark
top > active1 > U921 > 0 > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U811(ok(X1), ok(X2), ok(X3)) → U811(X1, X2, X3)
U811(mark(X1), X2, X3) → U811(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U811(mark(X1), X2, X3) → U811(X1, X2, X3)
U81^13 > mark1
active1 > U1013 > U1023 > mark1
active1 > isNatKind > U411 > U421 > mark1
active1 > isNatKind > U511 > tt > mark1
active1 > isNatKind > U611 > mark1
active1 > U1033 > mark1
active1 > U1043 > plus2 > U113 > mark1
active1 > U1043 > plus2 > U411 > U421 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U123 > U133 > mark1
active1 > U143 > U152 > mark1
active1 > U161 > tt > mark1
active1 > U212 > U222 > mark1
active1 > U231 > tt > mark1
active1 > U313 > U323 > mark1
active1 > U333 > U343 > mark1
active1 > U352 > mark1
active1 > U361 > tt > mark1
active1 > U621 > tt > mark1
active1 > U823 > mark1
active1 > U833 > U843 > s1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U712 > U722 > mark1
active1 > 0 > U912 > U921 > mark1
proper1 > U1013 > U1023 > mark1
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U113 > mark1
proper1 > U1043 > plus2 > U411 > U421 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U123 > U133 > mark1
proper1 > U143 > U152 > mark1
proper1 > U161 > tt > mark1
proper1 > U212 > U222 > mark1
proper1 > U231 > tt > mark1
proper1 > U313 > U323 > mark1
proper1 > U333 > U343 > mark1
proper1 > U352 > mark1
proper1 > U361 > tt > mark1
proper1 > U511 > tt > mark1
proper1 > U611 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > mark1
proper1 > U823 > mark1
proper1 > U833 > U843 > s1 > mark1
proper1 > U912 > U921 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U811(ok(X1), ok(X2), ok(X3)) → U811(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U811(ok(X1), ok(X2), ok(X3)) → U811(X1, X2, X3)
proper1 > U1011 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U1011 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U1032 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U1032 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U112 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U112 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U151 > ok1 > U81^12 > mark
proper1 > U151 > ok1 > active1 > tt > mark
proper1 > U312 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U312 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U351 > ok1 > U81^12 > mark
proper1 > U351 > ok1 > active1 > tt > mark
proper1 > U411 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U411 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U711 > isNatKind1 > ok1 > U81^12 > mark
proper1 > U711 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > 0 > U911 > isNatKind1 > ok1 > U81^12 > mark
proper1 > 0 > U911 > isNatKind1 > ok1 > active1 > tt > mark
top > active1 > tt > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U721(ok(X1), ok(X2)) → U721(X1, X2)
U721(mark(X1), X2) → U721(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U721(ok(X1), ok(X2)) → U721(X1, X2)
active1 > U1011 > mark > x2 > ok1
active1 > U1011 > mark > U123 > ok1
active1 > U1011 > mark > U151 > ok1
active1 > U1011 > mark > U161 > ok1
active1 > U1011 > mark > U212 > ok1
active1 > U1011 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U1011 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U1011 > mark > U912 > ok1
active1 > U1011 > isNatKind1 > tt > isNat1 > ok1
active1 > U1011 > isNatKind1 > tt > x2 > ok1
active1 > U1011 > isNatKind1 > tt > U123 > ok1
active1 > U1011 > isNatKind1 > tt > U151 > ok1
active1 > U1011 > isNatKind1 > tt > U161 > ok1
active1 > U1011 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U1011 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U1011 > isNatKind1 > tt > 0
active1 > U1031 > isNatKind1 > tt > isNat1 > ok1
active1 > U1031 > isNatKind1 > tt > x2 > ok1
active1 > U1031 > isNatKind1 > tt > U123 > ok1
active1 > U1031 > isNatKind1 > tt > U151 > ok1
active1 > U1031 > isNatKind1 > tt > U161 > ok1
active1 > U1031 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U1031 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U1031 > isNatKind1 > tt > 0
active1 > U1031 > U1042 > mark > x2 > ok1
active1 > U1031 > U1042 > mark > U123 > ok1
active1 > U1031 > U1042 > mark > U151 > ok1
active1 > U1031 > U1042 > mark > U161 > ok1
active1 > U1031 > U1042 > mark > U212 > ok1
active1 > U1031 > U1042 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U1031 > U1042 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U1031 > U1042 > mark > U912 > ok1
active1 > U131 > mark > x2 > ok1
active1 > U131 > mark > U123 > ok1
active1 > U131 > mark > U151 > ok1
active1 > U131 > mark > U161 > ok1
active1 > U131 > mark > U212 > ok1
active1 > U131 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U131 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U131 > mark > U912 > ok1
active1 > U131 > isNatKind1 > tt > isNat1 > ok1
active1 > U131 > isNatKind1 > tt > x2 > ok1
active1 > U131 > isNatKind1 > tt > U123 > ok1
active1 > U131 > isNatKind1 > tt > U151 > ok1
active1 > U131 > isNatKind1 > tt > U161 > ok1
active1 > U131 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U131 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U131 > isNatKind1 > tt > 0
active1 > U131 > U143 > isNat1 > ok1
active1 > U131 > U143 > U151 > ok1
active1 > U221 > mark > x2 > ok1
active1 > U221 > mark > U123 > ok1
active1 > U221 > mark > U151 > ok1
active1 > U221 > mark > U161 > ok1
active1 > U221 > mark > U212 > ok1
active1 > U221 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U221 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U221 > mark > U912 > ok1
active1 > U221 > isNat1 > ok1
active1 > U231 > mark > x2 > ok1
active1 > U231 > mark > U123 > ok1
active1 > U231 > mark > U151 > ok1
active1 > U231 > mark > U161 > ok1
active1 > U231 > mark > U212 > ok1
active1 > U231 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U231 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U231 > mark > U912 > ok1
active1 > U231 > tt > isNat1 > ok1
active1 > U231 > tt > x2 > ok1
active1 > U231 > tt > U123 > ok1
active1 > U231 > tt > U151 > ok1
active1 > U231 > tt > U161 > ok1
active1 > U231 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U231 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U231 > tt > 0
active1 > U312 > mark > x2 > ok1
active1 > U312 > mark > U123 > ok1
active1 > U312 > mark > U151 > ok1
active1 > U312 > mark > U161 > ok1
active1 > U312 > mark > U212 > ok1
active1 > U312 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U312 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U312 > mark > U912 > ok1
active1 > U312 > isNatKind1 > tt > isNat1 > ok1
active1 > U312 > isNatKind1 > tt > x2 > ok1
active1 > U312 > isNatKind1 > tt > U123 > ok1
active1 > U312 > isNatKind1 > tt > U151 > ok1
active1 > U312 > isNatKind1 > tt > U161 > ok1
active1 > U312 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U312 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U312 > isNatKind1 > tt > 0
active1 > U351 > mark > x2 > ok1
active1 > U351 > mark > U123 > ok1
active1 > U351 > mark > U151 > ok1
active1 > U351 > mark > U161 > ok1
active1 > U351 > mark > U212 > ok1
active1 > U351 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U351 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U351 > mark > U912 > ok1
active1 > U351 > isNat1 > ok1
active1 > U411 > mark > x2 > ok1
active1 > U411 > mark > U123 > ok1
active1 > U411 > mark > U151 > ok1
active1 > U411 > mark > U161 > ok1
active1 > U411 > mark > U212 > ok1
active1 > U411 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U411 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U411 > mark > U912 > ok1
active1 > U411 > isNatKind1 > tt > isNat1 > ok1
active1 > U411 > isNatKind1 > tt > x2 > ok1
active1 > U411 > isNatKind1 > tt > U123 > ok1
active1 > U411 > isNatKind1 > tt > U151 > ok1
active1 > U411 > isNatKind1 > tt > U161 > ok1
active1 > U411 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U411 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U411 > isNatKind1 > tt > 0
active1 > U511 > tt > isNat1 > ok1
active1 > U511 > tt > x2 > ok1
active1 > U511 > tt > U123 > ok1
active1 > U511 > tt > U151 > ok1
active1 > U511 > tt > U161 > ok1
active1 > U511 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U511 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U511 > tt > 0
active1 > U611 > mark > x2 > ok1
active1 > U611 > mark > U123 > ok1
active1 > U611 > mark > U151 > ok1
active1 > U611 > mark > U161 > ok1
active1 > U611 > mark > U212 > ok1
active1 > U611 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U611 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U611 > mark > U912 > ok1
active1 > U611 > isNatKind1 > tt > isNat1 > ok1
active1 > U611 > isNatKind1 > tt > x2 > ok1
active1 > U611 > isNatKind1 > tt > U123 > ok1
active1 > U611 > isNatKind1 > tt > U151 > ok1
active1 > U611 > isNatKind1 > tt > U161 > ok1
active1 > U611 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U611 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U611 > isNatKind1 > tt > 0
active1 > U722 > mark > x2 > ok1
active1 > U722 > mark > U123 > ok1
active1 > U722 > mark > U151 > ok1
active1 > U722 > mark > U161 > ok1
active1 > U722 > mark > U212 > ok1
active1 > U722 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U722 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U722 > mark > U912 > ok1
active1 > U812 > mark > x2 > ok1
active1 > U812 > mark > U123 > ok1
active1 > U812 > mark > U151 > ok1
active1 > U812 > mark > U161 > ok1
active1 > U812 > mark > U212 > ok1
active1 > U812 > mark > U823 > U832 > U841 > plus2 > ok1
active1 > U812 > mark > U823 > U832 > U841 > s1 > ok1
active1 > U812 > mark > U912 > ok1
active1 > U812 > isNatKind1 > tt > isNat1 > ok1
active1 > U812 > isNatKind1 > tt > x2 > ok1
active1 > U812 > isNatKind1 > tt > U123 > ok1
active1 > U812 > isNatKind1 > tt > U151 > ok1
active1 > U812 > isNatKind1 > tt > U161 > ok1
active1 > U812 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
active1 > U812 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
active1 > U812 > isNatKind1 > tt > 0
proper1 > U1011 > mark > x2 > ok1
proper1 > U1011 > mark > U123 > ok1
proper1 > U1011 > mark > U151 > ok1
proper1 > U1011 > mark > U161 > ok1
proper1 > U1011 > mark > U212 > ok1
proper1 > U1011 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U1011 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U1011 > mark > U912 > ok1
proper1 > U1011 > isNatKind1 > tt > isNat1 > ok1
proper1 > U1011 > isNatKind1 > tt > x2 > ok1
proper1 > U1011 > isNatKind1 > tt > U123 > ok1
proper1 > U1011 > isNatKind1 > tt > U151 > ok1
proper1 > U1011 > isNatKind1 > tt > U161 > ok1
proper1 > U1011 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U1011 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U1011 > isNatKind1 > tt > 0
proper1 > U1031 > isNatKind1 > tt > isNat1 > ok1
proper1 > U1031 > isNatKind1 > tt > x2 > ok1
proper1 > U1031 > isNatKind1 > tt > U123 > ok1
proper1 > U1031 > isNatKind1 > tt > U151 > ok1
proper1 > U1031 > isNatKind1 > tt > U161 > ok1
proper1 > U1031 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U1031 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U1031 > isNatKind1 > tt > 0
proper1 > U1031 > U1042 > mark > x2 > ok1
proper1 > U1031 > U1042 > mark > U123 > ok1
proper1 > U1031 > U1042 > mark > U151 > ok1
proper1 > U1031 > U1042 > mark > U161 > ok1
proper1 > U1031 > U1042 > mark > U212 > ok1
proper1 > U1031 > U1042 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U1031 > U1042 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U1031 > U1042 > mark > U912 > ok1
proper1 > U131 > mark > x2 > ok1
proper1 > U131 > mark > U123 > ok1
proper1 > U131 > mark > U151 > ok1
proper1 > U131 > mark > U161 > ok1
proper1 > U131 > mark > U212 > ok1
proper1 > U131 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U131 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U131 > mark > U912 > ok1
proper1 > U131 > isNatKind1 > tt > isNat1 > ok1
proper1 > U131 > isNatKind1 > tt > x2 > ok1
proper1 > U131 > isNatKind1 > tt > U123 > ok1
proper1 > U131 > isNatKind1 > tt > U151 > ok1
proper1 > U131 > isNatKind1 > tt > U161 > ok1
proper1 > U131 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U131 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U131 > isNatKind1 > tt > 0
proper1 > U131 > U143 > isNat1 > ok1
proper1 > U131 > U143 > U151 > ok1
proper1 > U221 > mark > x2 > ok1
proper1 > U221 > mark > U123 > ok1
proper1 > U221 > mark > U151 > ok1
proper1 > U221 > mark > U161 > ok1
proper1 > U221 > mark > U212 > ok1
proper1 > U221 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U221 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U221 > mark > U912 > ok1
proper1 > U221 > isNat1 > ok1
proper1 > U231 > mark > x2 > ok1
proper1 > U231 > mark > U123 > ok1
proper1 > U231 > mark > U151 > ok1
proper1 > U231 > mark > U161 > ok1
proper1 > U231 > mark > U212 > ok1
proper1 > U231 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U231 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U231 > mark > U912 > ok1
proper1 > U231 > tt > isNat1 > ok1
proper1 > U231 > tt > x2 > ok1
proper1 > U231 > tt > U123 > ok1
proper1 > U231 > tt > U151 > ok1
proper1 > U231 > tt > U161 > ok1
proper1 > U231 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U231 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U231 > tt > 0
proper1 > U312 > mark > x2 > ok1
proper1 > U312 > mark > U123 > ok1
proper1 > U312 > mark > U151 > ok1
proper1 > U312 > mark > U161 > ok1
proper1 > U312 > mark > U212 > ok1
proper1 > U312 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U312 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U312 > mark > U912 > ok1
proper1 > U312 > isNatKind1 > tt > isNat1 > ok1
proper1 > U312 > isNatKind1 > tt > x2 > ok1
proper1 > U312 > isNatKind1 > tt > U123 > ok1
proper1 > U312 > isNatKind1 > tt > U151 > ok1
proper1 > U312 > isNatKind1 > tt > U161 > ok1
proper1 > U312 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U312 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U312 > isNatKind1 > tt > 0
proper1 > U351 > mark > x2 > ok1
proper1 > U351 > mark > U123 > ok1
proper1 > U351 > mark > U151 > ok1
proper1 > U351 > mark > U161 > ok1
proper1 > U351 > mark > U212 > ok1
proper1 > U351 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U351 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U351 > mark > U912 > ok1
proper1 > U351 > isNat1 > ok1
proper1 > U411 > mark > x2 > ok1
proper1 > U411 > mark > U123 > ok1
proper1 > U411 > mark > U151 > ok1
proper1 > U411 > mark > U161 > ok1
proper1 > U411 > mark > U212 > ok1
proper1 > U411 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U411 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U411 > mark > U912 > ok1
proper1 > U411 > isNatKind1 > tt > isNat1 > ok1
proper1 > U411 > isNatKind1 > tt > x2 > ok1
proper1 > U411 > isNatKind1 > tt > U123 > ok1
proper1 > U411 > isNatKind1 > tt > U151 > ok1
proper1 > U411 > isNatKind1 > tt > U161 > ok1
proper1 > U411 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U411 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U411 > isNatKind1 > tt > 0
proper1 > U511 > tt > isNat1 > ok1
proper1 > U511 > tt > x2 > ok1
proper1 > U511 > tt > U123 > ok1
proper1 > U511 > tt > U151 > ok1
proper1 > U511 > tt > U161 > ok1
proper1 > U511 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U511 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U511 > tt > 0
proper1 > U611 > mark > x2 > ok1
proper1 > U611 > mark > U123 > ok1
proper1 > U611 > mark > U151 > ok1
proper1 > U611 > mark > U161 > ok1
proper1 > U611 > mark > U212 > ok1
proper1 > U611 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U611 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U611 > mark > U912 > ok1
proper1 > U611 > isNatKind1 > tt > isNat1 > ok1
proper1 > U611 > isNatKind1 > tt > x2 > ok1
proper1 > U611 > isNatKind1 > tt > U123 > ok1
proper1 > U611 > isNatKind1 > tt > U151 > ok1
proper1 > U611 > isNatKind1 > tt > U161 > ok1
proper1 > U611 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U611 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U611 > isNatKind1 > tt > 0
proper1 > U722 > mark > x2 > ok1
proper1 > U722 > mark > U123 > ok1
proper1 > U722 > mark > U151 > ok1
proper1 > U722 > mark > U161 > ok1
proper1 > U722 > mark > U212 > ok1
proper1 > U722 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U722 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U722 > mark > U912 > ok1
proper1 > U812 > mark > x2 > ok1
proper1 > U812 > mark > U123 > ok1
proper1 > U812 > mark > U151 > ok1
proper1 > U812 > mark > U161 > ok1
proper1 > U812 > mark > U212 > ok1
proper1 > U812 > mark > U823 > U832 > U841 > plus2 > ok1
proper1 > U812 > mark > U823 > U832 > U841 > s1 > ok1
proper1 > U812 > mark > U912 > ok1
proper1 > U812 > isNatKind1 > tt > isNat1 > ok1
proper1 > U812 > isNatKind1 > tt > x2 > ok1
proper1 > U812 > isNatKind1 > tt > U123 > ok1
proper1 > U812 > isNatKind1 > tt > U151 > ok1
proper1 > U812 > isNatKind1 > tt > U161 > ok1
proper1 > U812 > isNatKind1 > tt > U823 > U832 > U841 > plus2 > ok1
proper1 > U812 > isNatKind1 > tt > U823 > U832 > U841 > s1 > ok1
proper1 > U812 > isNatKind1 > tt > 0
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U721(mark(X1), X2) → U721(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U721(mark(X1), X2) → U721(X1, X2)
active1 > tt > U1043 > plus2 > U113 > mark1
active1 > tt > U1043 > plus2 > U712 > mark1
active1 > tt > U1043 > plus2 > U813 > mark1
active1 > tt > x2 > U1013 > U1023 > U1033 > mark1
active1 > tt > x2 > U313 > mark1
active1 > tt > U123 > U133 > mark1
active1 > tt > U143 > mark1
active1 > tt > U152 > mark1
active1 > tt > U161 > mark1
active1 > tt > U222 > mark1
active1 > tt > U231 > mark1
active1 > tt > U323 > mark1
active1 > tt > U333 > U343 > mark1
active1 > tt > U352 > mark1
active1 > tt > U361 > mark1
active1 > tt > U722 > mark1
active1 > tt > U823 > mark1
active1 > tt > U833 > U843 > mark1
active1 > isNatKind > U511 > mark1
active1 > U212 > U222 > mark1
active1 > 0 > U712 > mark1
proper1 > U1043 > plus2 > U113 > mark1
proper1 > U1043 > plus2 > U712 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > x2 > U1013 > U1023 > U1033 > mark1
proper1 > x2 > U313 > mark1
proper1 > U123 > U133 > mark1
proper1 > U143 > mark1
proper1 > U152 > mark1
proper1 > U161 > mark1
proper1 > U212 > U222 > mark1
proper1 > U231 > mark1
proper1 > U323 > mark1
proper1 > U333 > U343 > mark1
proper1 > U352 > mark1
proper1 > U361 > mark1
proper1 > U511 > mark1
proper1 > U722 > mark1
proper1 > U823 > mark1
proper1 > U833 > U843 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U711(ok(X1), ok(X2)) → U711(X1, X2)
U711(mark(X1), X2) → U711(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(mark(X1), X2) → U711(X1, X2)
active1 > U1013 > U1023 > mark1
active1 > isNatKind > mark1
active1 > isNatKind > tt
active1 > U1033 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U131 > mark1
active1 > U151 > mark1
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U341 > mark1
active1 > U621 > mark1
active1 > U621 > tt
active1 > U712 > U722 > mark1
active1 > U823 > isNat > tt
active1 > U823 > isNat > U111 > mark1
active1 > U833 > U843 > plus2 > U813 > mark1
active1 > 0 > tt
proper1 > U1013 > U1023 > mark1
proper1 > isNatKind > mark1
proper1 > isNatKind > tt
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U131 > mark1
proper1 > U151 > mark1
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U341 > mark1
proper1 > U621 > mark1
proper1 > U621 > tt
proper1 > U712 > U722 > mark1
proper1 > U823 > isNat > tt
proper1 > U823 > isNat > U111 > mark1
proper1 > U833 > U843 > plus2 > U813 > mark1
proper1 > 0 > tt
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U711(ok(X1), ok(X2)) → U711(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(ok(X1), ok(X2)) → U711(X1, X2)
U71^11 > mark1
active1 > U1013 > ok1 > mark1
active1 > U1023 > ok1 > mark1
active1 > U1033 > ok1 > mark1
active1 > U1043 > x2 > U612 > ok1 > mark1
active1 > U1043 > x2 > U912 > ok1 > mark1
active1 > plus2 > U113 > ok1 > mark1
active1 > plus2 > U813 > ok1 > mark1
active1 > U123 > ok1 > mark1
active1 > U133 > U143 > ok1 > mark1
active1 > U152 > ok1 > mark1
active1 > U212 > ok1 > mark1
active1 > U222 > ok1 > mark1
active1 > U313 > U323 > ok1 > mark1
active1 > U333 > ok1 > mark1
active1 > U343 > U352 > ok1 > mark1
active1 > U361 > ok1 > mark1
active1 > U361 > tt > mark1
active1 > U412 > ok1 > mark1
active1 > U621 > ok1 > mark1
active1 > U621 > tt > mark1
active1 > U712 > U722 > ok1 > mark1
active1 > U823 > ok1 > mark1
active1 > U833 > ok1 > mark1
active1 > U843 > ok1 > mark1
active1 > U921 > ok1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U912 > ok1 > mark1
proper1 > U1013 > ok1 > mark1
proper1 > U1023 > ok1 > mark1
proper1 > U1033 > ok1 > mark1
proper1 > U1043 > x2 > U612 > ok1 > mark1
proper1 > U1043 > x2 > U912 > ok1 > mark1
proper1 > plus2 > U113 > ok1 > mark1
proper1 > plus2 > U813 > ok1 > mark1
proper1 > U123 > ok1 > mark1
proper1 > U133 > U143 > ok1 > mark1
proper1 > U152 > ok1 > mark1
proper1 > U212 > ok1 > mark1
proper1 > U222 > ok1 > mark1
proper1 > U313 > U323 > ok1 > mark1
proper1 > U333 > ok1 > mark1
proper1 > U343 > U352 > ok1 > mark1
proper1 > U361 > ok1 > mark1
proper1 > U361 > tt > mark1
proper1 > U412 > ok1 > mark1
proper1 > U621 > ok1 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > ok1 > mark1
proper1 > U823 > ok1 > mark1
proper1 > U833 > ok1 > mark1
proper1 > U843 > ok1 > mark1
proper1 > U921 > ok1 > mark1
proper1 > 0 > tt > mark1
proper1 > 0 > U912 > ok1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U621(ok(X)) → U621(X)
U621(mark(X)) → U621(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U621(mark(X)) → U621(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U621(ok(X)) → U621(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U621(ok(X)) → U621(X)
U62^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U611(ok(X1), ok(X2)) → U611(X1, X2)
U611(mark(X1), X2) → U611(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(mark(X1), X2) → U611(X1, X2)
active1 > U1013 > U1023 > mark1
active1 > isNatKind > mark1
active1 > isNatKind > tt
active1 > U1033 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U131 > mark1
active1 > U151 > mark1
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U341 > mark1
active1 > U621 > mark1
active1 > U621 > tt
active1 > U712 > U722 > mark1
active1 > U823 > isNat > tt
active1 > U823 > isNat > U111 > mark1
active1 > U833 > U843 > plus2 > U813 > mark1
active1 > 0 > tt
proper1 > U1013 > U1023 > mark1
proper1 > isNatKind > mark1
proper1 > isNatKind > tt
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U131 > mark1
proper1 > U151 > mark1
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U341 > mark1
proper1 > U621 > mark1
proper1 > U621 > tt
proper1 > U712 > U722 > mark1
proper1 > U823 > isNat > tt
proper1 > U823 > isNat > U111 > mark1
proper1 > U833 > U843 > plus2 > U813 > mark1
proper1 > 0 > tt
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U611(ok(X1), ok(X2)) → U611(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(ok(X1), ok(X2)) → U611(X1, X2)
U61^11 > mark1
active1 > U1013 > ok1 > mark1
active1 > U1023 > ok1 > mark1
active1 > U1033 > ok1 > mark1
active1 > U1043 > x2 > U612 > ok1 > mark1
active1 > U1043 > x2 > U912 > ok1 > mark1
active1 > plus2 > U113 > ok1 > mark1
active1 > plus2 > U813 > ok1 > mark1
active1 > U123 > ok1 > mark1
active1 > U133 > U143 > ok1 > mark1
active1 > U152 > ok1 > mark1
active1 > U212 > ok1 > mark1
active1 > U222 > ok1 > mark1
active1 > U313 > U323 > ok1 > mark1
active1 > U333 > ok1 > mark1
active1 > U343 > U352 > ok1 > mark1
active1 > U361 > ok1 > mark1
active1 > U361 > tt > mark1
active1 > U412 > ok1 > mark1
active1 > U621 > ok1 > mark1
active1 > U621 > tt > mark1
active1 > U712 > U722 > ok1 > mark1
active1 > U823 > ok1 > mark1
active1 > U833 > ok1 > mark1
active1 > U843 > ok1 > mark1
active1 > U921 > ok1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U912 > ok1 > mark1
proper1 > U1013 > ok1 > mark1
proper1 > U1023 > ok1 > mark1
proper1 > U1033 > ok1 > mark1
proper1 > U1043 > x2 > U612 > ok1 > mark1
proper1 > U1043 > x2 > U912 > ok1 > mark1
proper1 > plus2 > U113 > ok1 > mark1
proper1 > plus2 > U813 > ok1 > mark1
proper1 > U123 > ok1 > mark1
proper1 > U133 > U143 > ok1 > mark1
proper1 > U152 > ok1 > mark1
proper1 > U212 > ok1 > mark1
proper1 > U222 > ok1 > mark1
proper1 > U313 > U323 > ok1 > mark1
proper1 > U333 > ok1 > mark1
proper1 > U343 > U352 > ok1 > mark1
proper1 > U361 > ok1 > mark1
proper1 > U361 > tt > mark1
proper1 > U412 > ok1 > mark1
proper1 > U621 > ok1 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > ok1 > mark1
proper1 > U823 > ok1 > mark1
proper1 > U833 > ok1 > mark1
proper1 > U843 > ok1 > mark1
proper1 > U921 > ok1 > mark1
proper1 > 0 > tt > mark1
proper1 > 0 > U912 > ok1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U511(ok(X)) → U511(X)
U511(mark(X)) → U511(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(mark(X)) → U511(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U511(ok(X)) → U511(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(ok(X)) → U511(X)
U51^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U421(ok(X)) → U421(X)
U421(mark(X)) → U421(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U421(mark(X)) → U421(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U421(ok(X)) → U421(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U421(ok(X)) → U421(X)
U42^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U411(ok(X1), ok(X2)) → U411(X1, X2)
U411(mark(X1), X2) → U411(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(ok(X1), ok(X2)) → U411(X1, X2)
top > active1 > U1013 > U1023 > ok1
top > active1 > U1042 > plus2 > ok1
top > active1 > U1042 > x2 > ok1
top > active1 > U121 > isNatKind1 > ok1
top > active1 > U211 > ok1
top > active1 > U231 > tt > U1023 > ok1
top > active1 > U231 > tt > U1033 > isNatKind1 > ok1
top > active1 > U231 > tt > plus2 > ok1
top > active1 > U231 > tt > x2 > ok1
top > active1 > U231 > tt > U142 > ok1
top > active1 > U231 > tt > U161 > ok1
top > active1 > U231 > tt > U222 > ok1
top > active1 > U231 > tt > U331 > isNatKind1 > ok1
top > active1 > U231 > tt > U351 > ok1
top > active1 > U231 > tt > U421 > ok1
top > active1 > U231 > tt > U721 > ok1
top > active1 > U231 > tt > U833 > ok1
top > active1 > U231 > tt > 0 > ok1
top > active1 > U312 > ok1
top > active1 > U321 > U331 > isNatKind1 > ok1
top > active1 > U621 > ok1
top > active1 > U711 > isNatKind1 > ok1
top > active1 > U711 > U721 > ok1
top > active1 > U812 > ok1
top > active1 > U822 > U833 > ok1
top > active1 > U843 > plus2 > ok1
top > active1 > U912 > isNatKind1 > ok1
top > proper1 > U1013 > U1023 > ok1
top > proper1 > U1042 > plus2 > ok1
top > proper1 > U1042 > x2 > ok1
top > proper1 > U121 > isNatKind1 > ok1
top > proper1 > U211 > ok1
top > proper1 > U231 > tt > U1023 > ok1
top > proper1 > U231 > tt > U1033 > isNatKind1 > ok1
top > proper1 > U231 > tt > plus2 > ok1
top > proper1 > U231 > tt > x2 > ok1
top > proper1 > U231 > tt > U142 > ok1
top > proper1 > U231 > tt > U161 > ok1
top > proper1 > U231 > tt > U222 > ok1
top > proper1 > U231 > tt > U331 > isNatKind1 > ok1
top > proper1 > U231 > tt > U351 > ok1
top > proper1 > U231 > tt > U421 > ok1
top > proper1 > U231 > tt > U721 > ok1
top > proper1 > U231 > tt > U833 > ok1
top > proper1 > U231 > tt > 0 > ok1
top > proper1 > U312 > ok1
top > proper1 > U321 > U331 > isNatKind1 > ok1
top > proper1 > U621 > ok1
top > proper1 > U711 > isNatKind1 > ok1
top > proper1 > U711 > U721 > ok1
top > proper1 > U812 > ok1
top > proper1 > U822 > U833 > ok1
top > proper1 > U843 > plus2 > ok1
top > proper1 > U912 > isNatKind1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U411(mark(X1), X2) → U411(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
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)
U41^11 > ok
active1 > U1013 > mark1 > ok
active1 > U1043 > plus2 > U712 > mark1 > ok
active1 > U1043 > x2 > mark1 > ok
active1 > U313 > mark1 > ok
active1 > U323 > mark1 > ok
active1 > U333 > mark1 > ok
active1 > U343 > isNat1 > U113 > mark1 > ok
active1 > U343 > isNat1 > U212 > mark1 > ok
active1 > U343 > U352 > mark1 > ok
active1 > U412 > mark1 > ok
active1 > U511 > tt > U1023 > U1033 > mark1 > ok
active1 > U511 > tt > plus2 > U712 > mark1 > ok
active1 > U511 > tt > x2 > mark1 > ok
active1 > U511 > tt > U123 > U133 > mark1 > ok
active1 > U511 > tt > U143 > U152 > mark1 > ok
active1 > U511 > tt > U161 > mark1 > ok
active1 > U511 > tt > U222 > U231 > mark1 > ok
active1 > U511 > tt > U352 > mark1 > ok
active1 > U511 > tt > U361 > mark1 > ok
active1 > U511 > tt > U722 > mark1 > ok
active1 > U511 > tt > U823 > mark1 > ok
active1 > U511 > tt > U833 > U843 > mark1 > ok
active1 > U511 > tt > U921 > mark1 > ok
active1 > U511 > tt > 0 > U712 > mark1 > ok
active1 > U511 > tt > 0 > U912 > mark1 > ok
active1 > U612 > mark1 > ok
active1 > U813 > U823 > mark1 > ok
top > ok
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U361(ok(X)) → U361(X)
U361(mark(X)) → U361(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U361(mark(X)) → U361(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U361(ok(X)) → U361(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U361(ok(X)) → U361(X)
U36^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U351(ok(X1), ok(X2)) → U351(X1, X2)
U351(mark(X1), X2) → U351(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U351(mark(X1), X2) → U351(X1, X2)
U35^12 > mark1
active1 > U1013 > U1023 > mark1
active1 > U1033 > mark1
active1 > U1043 > mark1
active1 > x2 > isNat1 > tt > U1023 > mark1
active1 > x2 > isNat1 > tt > U161 > mark1
active1 > x2 > isNat1 > tt > U343 > mark1
active1 > x2 > isNat1 > tt > U722 > mark1
active1 > x2 > isNat1 > tt > U921 > mark1
active1 > x2 > isNat1 > tt > 0 > mark1
active1 > U113 > U123 > mark1
active1 > U133 > mark1
active1 > U143 > mark1
active1 > U152 > U161 > mark1
active1 > U212 > U222 > mark1
active1 > U313 > mark1
active1 > U323 > mark1
active1 > U333 > U343 > mark1
active1 > U352 > mark1
active1 > U412 > mark1
active1 > U511 > mark1
active1 > U612 > U621 > tt > U1023 > mark1
active1 > U612 > U621 > tt > U161 > mark1
active1 > U612 > U621 > tt > U343 > mark1
active1 > U612 > U621 > tt > U722 > mark1
active1 > U612 > U621 > tt > U921 > mark1
active1 > U612 > U621 > tt > 0 > mark1
active1 > U712 > U722 > mark1
active1 > U823 > U833 > mark1
active1 > U843 > plus2 > U813 > mark1
active1 > U912 > U921 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U351(ok(X1), ok(X2)) → U351(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U351(ok(X1), ok(X2)) → U351(X1, X2)
proper1 > U1013 > U1023 > U1033 > ok1
proper1 > U1013 > isNatKind1 > ok1
proper1 > tt > U1033 > ok1
proper1 > tt > U1043 > plus2 > ok1
proper1 > tt > U1043 > x2 > ok1
proper1 > tt > U122 > isNatKind1 > ok1
proper1 > tt > U161 > ok1
proper1 > tt > U231 > ok1
proper1 > tt > U332 > ok1
proper1 > tt > U421 > ok1
proper1 > tt > U721 > ok1
proper1 > tt > U822 > ok1
proper1 > tt > U833 > ok1
proper1 > tt > U843 > plus2 > ok1
proper1 > tt > U921 > ok1
proper1 > tt > 0 > ok1
proper1 > U112 > ok1
proper1 > U212 > ok1
proper1 > U313 > isNatKind1 > ok1
proper1 > U612 > ok1
proper1 > U813 > ok1
top > active1 > U1013 > U1023 > U1033 > ok1
top > active1 > U1013 > isNatKind1 > ok1
top > active1 > tt > U1033 > ok1
top > active1 > tt > U1043 > plus2 > ok1
top > active1 > tt > U1043 > x2 > ok1
top > active1 > tt > U122 > isNatKind1 > ok1
top > active1 > tt > U161 > ok1
top > active1 > tt > U231 > ok1
top > active1 > tt > U332 > ok1
top > active1 > tt > U421 > ok1
top > active1 > tt > U721 > ok1
top > active1 > tt > U822 > ok1
top > active1 > tt > U833 > ok1
top > active1 > tt > U843 > plus2 > ok1
top > active1 > tt > U921 > ok1
top > active1 > tt > 0 > ok1
top > active1 > U112 > ok1
top > active1 > U212 > ok1
top > active1 > U313 > isNatKind1 > ok1
top > active1 > U612 > ok1
top > active1 > U813 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U341(ok(X1), ok(X2), ok(X3)) → U341(X1, X2, X3)
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U341(ok(X1), ok(X2), ok(X3)) → U341(X1, X2, X3)
active1 > U1023 > U1033 > ok1 > U34^13
active1 > isNat1 > tt > U1033 > ok1 > U34^13
active1 > isNat1 > tt > U142 > ok1 > U34^13
active1 > isNat1 > tt > U231 > ok1 > U34^13
active1 > isNat1 > tt > U321 > ok1 > U34^13
active1 > isNat1 > tt > U332 > ok1 > U34^13
active1 > isNat1 > tt > U421 > ok1 > U34^13
active1 > isNat1 > tt > U843 > ok1 > U34^13
active1 > isNat1 > tt > 0
active1 > isNat1 > U112 > ok1 > U34^13
active1 > U1042 > ok1 > U34^13
active1 > plus2 > U112 > ok1 > U34^13
active1 > plus2 > U812 > ok1 > U34^13
active1 > x2 > U1013 > ok1 > U34^13
active1 > x2 > U912 > ok1 > U34^13
active1 > U123 > ok1 > U34^13
active1 > U132 > U142 > ok1 > U34^13
active1 > U351 > ok1 > U34^13
active1 > U511 > tt > U1033 > ok1 > U34^13
active1 > U511 > tt > U142 > ok1 > U34^13
active1 > U511 > tt > U231 > ok1 > U34^13
active1 > U511 > tt > U321 > ok1 > U34^13
active1 > U511 > tt > U332 > ok1 > U34^13
active1 > U511 > tt > U421 > ok1 > U34^13
active1 > U511 > tt > U843 > ok1 > U34^13
active1 > U511 > tt > 0
active1 > U621 > tt > U1033 > ok1 > U34^13
active1 > U621 > tt > U142 > ok1 > U34^13
active1 > U621 > tt > U231 > ok1 > U34^13
active1 > U621 > tt > U321 > ok1 > U34^13
active1 > U621 > tt > U332 > ok1 > U34^13
active1 > U621 > tt > U421 > ok1 > U34^13
active1 > U621 > tt > U843 > ok1 > U34^13
active1 > U621 > tt > 0
active1 > U712 > ok1 > U34^13
active1 > U722 > ok1 > U34^13
active1 > U822 > ok1 > U34^13
active1 > U832 > U843 > ok1 > U34^13
active1 > s1 > U1013 > ok1 > U34^13
active1 > s1 > U812 > ok1 > U34^13
active1 > U921 > ok1 > U34^13
active1 > U921 > 0
proper1 > U1023 > U1033 > ok1 > U34^13
proper1 > isNat1 > tt > U1033 > ok1 > U34^13
proper1 > isNat1 > tt > U142 > ok1 > U34^13
proper1 > isNat1 > tt > U231 > ok1 > U34^13
proper1 > isNat1 > tt > U321 > ok1 > U34^13
proper1 > isNat1 > tt > U332 > ok1 > U34^13
proper1 > isNat1 > tt > U421 > ok1 > U34^13
proper1 > isNat1 > tt > U843 > ok1 > U34^13
proper1 > isNat1 > tt > 0
proper1 > isNat1 > U112 > ok1 > U34^13
proper1 > U1042 > ok1 > U34^13
proper1 > plus2 > U112 > ok1 > U34^13
proper1 > plus2 > U812 > ok1 > U34^13
proper1 > x2 > U1013 > ok1 > U34^13
proper1 > x2 > U912 > ok1 > U34^13
proper1 > U123 > ok1 > U34^13
proper1 > U132 > U142 > ok1 > U34^13
proper1 > U351 > ok1 > U34^13
proper1 > U511 > tt > U1033 > ok1 > U34^13
proper1 > U511 > tt > U142 > ok1 > U34^13
proper1 > U511 > tt > U231 > ok1 > U34^13
proper1 > U511 > tt > U321 > ok1 > U34^13
proper1 > U511 > tt > U332 > ok1 > U34^13
proper1 > U511 > tt > U421 > ok1 > U34^13
proper1 > U511 > tt > U843 > ok1 > U34^13
proper1 > U511 > tt > 0
proper1 > U621 > tt > U1033 > ok1 > U34^13
proper1 > U621 > tt > U142 > ok1 > U34^13
proper1 > U621 > tt > U231 > ok1 > U34^13
proper1 > U621 > tt > U321 > ok1 > U34^13
proper1 > U621 > tt > U332 > ok1 > U34^13
proper1 > U621 > tt > U421 > ok1 > U34^13
proper1 > U621 > tt > U843 > ok1 > U34^13
proper1 > U621 > tt > 0
proper1 > U712 > ok1 > U34^13
proper1 > U722 > ok1 > U34^13
proper1 > U822 > ok1 > U34^13
proper1 > U832 > U843 > ok1 > U34^13
proper1 > s1 > U1013 > ok1 > U34^13
proper1 > s1 > U812 > ok1 > U34^13
proper1 > U921 > ok1 > U34^13
proper1 > U921 > 0
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U341(mark(X1), X2, X3) → U341(X1, X2, X3)
U34^13 > mark1
active1 > isNatKind > proper1 > U1013 > U1023 > mark1
active1 > isNatKind > proper1 > U1033 > U1043 > x2 > mark1
active1 > isNatKind > proper1 > plus2 > isNat1 > mark1
active1 > isNatKind > proper1 > U113 > mark1
active1 > isNatKind > proper1 > U123 > U133 > U143 > isNat1 > mark1
active1 > isNatKind > proper1 > U212 > mark1
active1 > isNatKind > proper1 > U313 > U323 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U1023 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U1043 > x2 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U133 > U143 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U152 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U222 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U323 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U333 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U343 > U352 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U722 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U823 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U823 > U833 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U843 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > 0 > isNat1 > mark1
active1 > isNatKind > proper1 > U511 > mark1
active1 > isNatKind > proper1 > U712 > U722 > mark1
active1 > isNatKind > proper1 > U813 > U823 > isNat1 > mark1
active1 > isNatKind > proper1 > U813 > U823 > U833 > mark1
active1 > isNatKind > proper1 > U921 > 0 > isNat1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U331(ok(X1), ok(X2), ok(X3)) → U331(X1, X2, X3)
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U331(ok(X1), ok(X2), ok(X3)) → U331(X1, X2, X3)
active1 > U1023 > U1033 > ok1 > U33^13
active1 > isNat1 > tt > U1033 > ok1 > U33^13
active1 > isNat1 > tt > U142 > ok1 > U33^13
active1 > isNat1 > tt > U231 > ok1 > U33^13
active1 > isNat1 > tt > U321 > ok1 > U33^13
active1 > isNat1 > tt > U332 > ok1 > U33^13
active1 > isNat1 > tt > U421 > ok1 > U33^13
active1 > isNat1 > tt > U843 > ok1 > U33^13
active1 > isNat1 > tt > 0
active1 > isNat1 > U112 > ok1 > U33^13
active1 > U1042 > ok1 > U33^13
active1 > plus2 > U112 > ok1 > U33^13
active1 > plus2 > U812 > ok1 > U33^13
active1 > x2 > U1013 > ok1 > U33^13
active1 > x2 > U912 > ok1 > U33^13
active1 > U123 > ok1 > U33^13
active1 > U132 > U142 > ok1 > U33^13
active1 > U351 > ok1 > U33^13
active1 > U511 > tt > U1033 > ok1 > U33^13
active1 > U511 > tt > U142 > ok1 > U33^13
active1 > U511 > tt > U231 > ok1 > U33^13
active1 > U511 > tt > U321 > ok1 > U33^13
active1 > U511 > tt > U332 > ok1 > U33^13
active1 > U511 > tt > U421 > ok1 > U33^13
active1 > U511 > tt > U843 > ok1 > U33^13
active1 > U511 > tt > 0
active1 > U621 > tt > U1033 > ok1 > U33^13
active1 > U621 > tt > U142 > ok1 > U33^13
active1 > U621 > tt > U231 > ok1 > U33^13
active1 > U621 > tt > U321 > ok1 > U33^13
active1 > U621 > tt > U332 > ok1 > U33^13
active1 > U621 > tt > U421 > ok1 > U33^13
active1 > U621 > tt > U843 > ok1 > U33^13
active1 > U621 > tt > 0
active1 > U712 > ok1 > U33^13
active1 > U722 > ok1 > U33^13
active1 > U822 > ok1 > U33^13
active1 > U832 > U843 > ok1 > U33^13
active1 > s1 > U1013 > ok1 > U33^13
active1 > s1 > U812 > ok1 > U33^13
active1 > U921 > ok1 > U33^13
active1 > U921 > 0
proper1 > U1023 > U1033 > ok1 > U33^13
proper1 > isNat1 > tt > U1033 > ok1 > U33^13
proper1 > isNat1 > tt > U142 > ok1 > U33^13
proper1 > isNat1 > tt > U231 > ok1 > U33^13
proper1 > isNat1 > tt > U321 > ok1 > U33^13
proper1 > isNat1 > tt > U332 > ok1 > U33^13
proper1 > isNat1 > tt > U421 > ok1 > U33^13
proper1 > isNat1 > tt > U843 > ok1 > U33^13
proper1 > isNat1 > tt > 0
proper1 > isNat1 > U112 > ok1 > U33^13
proper1 > U1042 > ok1 > U33^13
proper1 > plus2 > U112 > ok1 > U33^13
proper1 > plus2 > U812 > ok1 > U33^13
proper1 > x2 > U1013 > ok1 > U33^13
proper1 > x2 > U912 > ok1 > U33^13
proper1 > U123 > ok1 > U33^13
proper1 > U132 > U142 > ok1 > U33^13
proper1 > U351 > ok1 > U33^13
proper1 > U511 > tt > U1033 > ok1 > U33^13
proper1 > U511 > tt > U142 > ok1 > U33^13
proper1 > U511 > tt > U231 > ok1 > U33^13
proper1 > U511 > tt > U321 > ok1 > U33^13
proper1 > U511 > tt > U332 > ok1 > U33^13
proper1 > U511 > tt > U421 > ok1 > U33^13
proper1 > U511 > tt > U843 > ok1 > U33^13
proper1 > U511 > tt > 0
proper1 > U621 > tt > U1033 > ok1 > U33^13
proper1 > U621 > tt > U142 > ok1 > U33^13
proper1 > U621 > tt > U231 > ok1 > U33^13
proper1 > U621 > tt > U321 > ok1 > U33^13
proper1 > U621 > tt > U332 > ok1 > U33^13
proper1 > U621 > tt > U421 > ok1 > U33^13
proper1 > U621 > tt > U843 > ok1 > U33^13
proper1 > U621 > tt > 0
proper1 > U712 > ok1 > U33^13
proper1 > U722 > ok1 > U33^13
proper1 > U822 > ok1 > U33^13
proper1 > U832 > U843 > ok1 > U33^13
proper1 > s1 > U1013 > ok1 > U33^13
proper1 > s1 > U812 > ok1 > U33^13
proper1 > U921 > ok1 > U33^13
proper1 > U921 > 0
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U331(mark(X1), X2, X3) → U331(X1, X2, X3)
U33^13 > mark1
active1 > isNatKind > proper1 > U1013 > U1023 > mark1
active1 > isNatKind > proper1 > U1033 > U1043 > x2 > mark1
active1 > isNatKind > proper1 > plus2 > isNat1 > mark1
active1 > isNatKind > proper1 > U113 > mark1
active1 > isNatKind > proper1 > U123 > U133 > U143 > isNat1 > mark1
active1 > isNatKind > proper1 > U212 > mark1
active1 > isNatKind > proper1 > U313 > U323 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U1023 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U1043 > x2 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U133 > U143 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U152 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U222 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U323 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U333 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U343 > U352 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U722 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U823 > isNat1 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U823 > U833 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > U843 > mark1
active1 > isNatKind > proper1 > U411 > U421 > tt > 0 > isNat1 > mark1
active1 > isNatKind > proper1 > U511 > mark1
active1 > isNatKind > proper1 > U712 > U722 > mark1
active1 > isNatKind > proper1 > U813 > U823 > isNat1 > mark1
active1 > isNatKind > proper1 > U813 > U823 > U833 > mark1
active1 > isNatKind > proper1 > U921 > 0 > isNat1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U321(ok(X1), ok(X2), ok(X3)) → U321(X1, X2, X3)
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(ok(X1), ok(X2), ok(X3)) → U321(X1, X2, X3)
active1 > U1013 > U1023 > ok1
active1 > U1013 > isNatKind1 > U411 > ok1
active1 > U1013 > isNatKind1 > U511 > ok1
active1 > tt > U1023 > ok1
active1 > tt > isNatKind1 > U411 > ok1
active1 > tt > isNatKind1 > U511 > ok1
active1 > tt > U1043 > x2 > ok1
active1 > tt > U231 > ok1
active1 > tt > U332 > ok1
active1 > tt > U351 > ok1
active1 > tt > U361 > ok1
active1 > tt > U421 > ok1
active1 > tt > U621 > ok1
active1 > tt > U823 > U832 > ok1
active1 > tt > s1 > U511 > ok1
active1 > U1033 > isNatKind1 > U411 > ok1
active1 > U1033 > isNatKind1 > U511 > ok1
active1 > U1033 > U1043 > x2 > ok1
active1 > plus2 > isNatKind1 > U411 > ok1
active1 > plus2 > isNatKind1 > U511 > ok1
active1 > plus2 > U813 > U823 > U832 > ok1
active1 > U121 > isNatKind1 > U411 > ok1
active1 > U121 > isNatKind1 > U511 > ok1
active1 > U711 > isNatKind1 > U411 > ok1
active1 > U711 > isNatKind1 > U511 > ok1
active1 > U842 > s1 > U511 > ok1
active1 > 0 > U912 > ok1
proper1 > U1013 > U1023 > ok1
proper1 > U1013 > isNatKind1 > U411 > ok1
proper1 > U1013 > isNatKind1 > U511 > ok1
proper1 > tt > U1023 > ok1
proper1 > tt > isNatKind1 > U411 > ok1
proper1 > tt > isNatKind1 > U511 > ok1
proper1 > tt > U1043 > x2 > ok1
proper1 > tt > U231 > ok1
proper1 > tt > U332 > ok1
proper1 > tt > U351 > ok1
proper1 > tt > U361 > ok1
proper1 > tt > U421 > ok1
proper1 > tt > U621 > ok1
proper1 > tt > U823 > U832 > ok1
proper1 > tt > s1 > U511 > ok1
proper1 > U1033 > isNatKind1 > U411 > ok1
proper1 > U1033 > isNatKind1 > U511 > ok1
proper1 > U1033 > U1043 > x2 > ok1
proper1 > plus2 > isNatKind1 > U411 > ok1
proper1 > plus2 > isNatKind1 > U511 > ok1
proper1 > plus2 > U813 > U823 > U832 > ok1
proper1 > U121 > isNatKind1 > U411 > ok1
proper1 > U121 > isNatKind1 > U511 > ok1
proper1 > U711 > isNatKind1 > U411 > ok1
proper1 > U711 > isNatKind1 > U511 > ok1
proper1 > U842 > s1 > U511 > ok1
proper1 > 0 > U912 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(mark(X1), X2, X3) → U321(X1, X2, X3)
active1 > U1023 > U1033 > mark1
active1 > U1023 > isNat
active1 > isNatKind > U411 > mark1
active1 > isNatKind > U511 > mark1
active1 > isNatKind > U511 > tt
active1 > U1043 > x2 > U1013 > mark1
active1 > U1043 > x2 > isNat
active1 > plus2 > U411 > mark1
active1 > plus2 > U712 > mark1
active1 > plus2 > U813 > U823 > mark1
active1 > plus2 > U813 > U823 > isNat
active1 > U131 > mark1
active1 > U141 > mark1
active1 > U141 > isNat
active1 > U221 > mark1
active1 > U221 > isNat
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U722 > mark1
active1 > U833 > mark1
active1 > U843 > mark1
active1 > s1 > U1013 > mark1
active1 > s1 > U511 > mark1
active1 > s1 > U511 > tt
active1 > s1 > U813 > U823 > mark1
active1 > s1 > U813 > U823 > isNat
active1 > U921 > mark1
active1 > 0 > tt
active1 > 0 > isNat
active1 > 0 > U712 > mark1
proper1 > U1023 > U1033 > mark1
proper1 > U1023 > isNat
proper1 > isNatKind > U411 > mark1
proper1 > isNatKind > U511 > mark1
proper1 > isNatKind > U511 > tt
proper1 > U1043 > x2 > U1013 > mark1
proper1 > U1043 > x2 > isNat
proper1 > plus2 > U411 > mark1
proper1 > plus2 > U712 > mark1
proper1 > plus2 > U813 > U823 > mark1
proper1 > plus2 > U813 > U823 > isNat
proper1 > U131 > mark1
proper1 > U141 > mark1
proper1 > U141 > isNat
proper1 > U221 > mark1
proper1 > U221 > isNat
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U722 > mark1
proper1 > U833 > mark1
proper1 > U843 > mark1
proper1 > s1 > U1013 > mark1
proper1 > s1 > U511 > mark1
proper1 > s1 > U511 > tt
proper1 > s1 > U813 > U823 > mark1
proper1 > s1 > U813 > U823 > isNat
proper1 > U921 > mark1
proper1 > 0 > tt
proper1 > 0 > isNat
proper1 > 0 > U712 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
active1 > U1013 > mark1
active1 > U113 > U123 > mark1
active1 > U313 > mark1
active1 > U412 > U421 > mark1
active1 > U813 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U1033 > U1043 > plus2 > mark1
active1 > 0 > tt > isNat1 > U212 > mark1
active1 > 0 > tt > x2 > U612 > mark1
active1 > 0 > tt > U123 > mark1
active1 > 0 > tt > U133 > U143 > mark1
active1 > 0 > tt > U152 > mark1
active1 > 0 > tt > U222 > U231 > mark1
active1 > 0 > tt > U323 > mark1
active1 > 0 > tt > U333 > mark1
active1 > 0 > tt > U343 > mark1
active1 > 0 > tt > U352 > mark1
active1 > 0 > tt > U421 > mark1
active1 > 0 > tt > U722 > mark1
active1 > 0 > tt > U823 > U833 > mark1
active1 > 0 > tt > U843 > s1 > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U912 > mark1
proper1 > U1013 > mark1
proper1 > U1023 > mark1
proper1 > U1033 > U1043 > plus2 > mark1
proper1 > isNat1 > U212 > mark1
proper1 > x2 > U612 > mark1
proper1 > U113 > U123 > mark1
proper1 > U133 > U143 > mark1
proper1 > U152 > mark1
proper1 > U222 > U231 > mark1
proper1 > U313 > mark1
proper1 > U323 > mark1
proper1 > U333 > mark1
proper1 > U343 > mark1
proper1 > U352 > mark1
proper1 > U412 > U421 > mark1
proper1 > U712 > mark1
proper1 > U722 > mark1
proper1 > U813 > mark1
proper1 > U823 > U833 > mark1
proper1 > U843 > s1 > mark1
proper1 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
0 > isNat1 > tt > plus2 > ok1
0 > isNat1 > tt > plus2 > mark
0 > isNat1 > tt > x1 > U313 > ok1
0 > isNat1 > tt > x1 > U313 > mark
0 > isNat1 > tt > U161 > ok1
0 > isNat1 > tt > U161 > mark
0 > isNat1 > tt > U333 > ok1
0 > isNat1 > tt > U333 > mark
0 > isNat1 > tt > U421 > ok1
0 > isNat1 > tt > U421 > mark
0 > isNat1 > tt > s1 > ok1
0 > isNat1 > tt > s1 > mark
0 > isNat1 > U112 > ok1
0 > isNat1 > U112 > mark
0 > U711 > ok1
0 > U711 > mark
0 > U912 > ok1
0 > U912 > mark
proper1 > U1013 > ok1
proper1 > U1013 > mark
proper1 > U1023 > ok1
proper1 > U1023 > mark
proper1 > U1033 > U1043 > plus2 > ok1
proper1 > U1033 > U1043 > plus2 > mark
proper1 > U1033 > U1043 > x1 > U313 > ok1
proper1 > U1033 > U1043 > x1 > U313 > mark
proper1 > U133 > ok1
proper1 > U133 > mark
proper1 > U152 > isNat1 > tt > plus2 > ok1
proper1 > U152 > isNat1 > tt > plus2 > mark
proper1 > U152 > isNat1 > tt > x1 > U313 > ok1
proper1 > U152 > isNat1 > tt > x1 > U313 > mark
proper1 > U152 > isNat1 > tt > U161 > ok1
proper1 > U152 > isNat1 > tt > U161 > mark
proper1 > U152 > isNat1 > tt > U333 > ok1
proper1 > U152 > isNat1 > tt > U333 > mark
proper1 > U152 > isNat1 > tt > U421 > ok1
proper1 > U152 > isNat1 > tt > U421 > mark
proper1 > U152 > isNat1 > tt > s1 > ok1
proper1 > U152 > isNat1 > tt > s1 > mark
proper1 > U152 > isNat1 > U112 > ok1
proper1 > U152 > isNat1 > U112 > mark
proper1 > U211 > ok1
proper1 > U211 > mark
proper1 > U221 > ok1
proper1 > U221 > mark
proper1 > U323 > U333 > ok1
proper1 > U323 > U333 > mark
proper1 > U351 > ok1
proper1 > U351 > mark
proper1 > U411 > U421 > ok1
proper1 > U411 > U421 > mark
proper1 > U511 > tt > plus2 > ok1
proper1 > U511 > tt > plus2 > mark
proper1 > U511 > tt > x1 > U313 > ok1
proper1 > U511 > tt > x1 > U313 > mark
proper1 > U511 > tt > U161 > ok1
proper1 > U511 > tt > U161 > mark
proper1 > U511 > tt > U333 > ok1
proper1 > U511 > tt > U333 > mark
proper1 > U511 > tt > U421 > ok1
proper1 > U511 > tt > U421 > mark
proper1 > U511 > tt > s1 > ok1
proper1 > U511 > tt > s1 > mark
proper1 > U612 > ok1
proper1 > U612 > mark
proper1 > U711 > ok1
proper1 > U711 > mark
proper1 > U813 > ok1
proper1 > U813 > mark
proper1 > U831 > U842 > plus2 > ok1
proper1 > U831 > U842 > plus2 > mark
proper1 > U831 > U842 > s1 > ok1
proper1 > U831 > U842 > s1 > mark
proper1 > U912 > ok1
proper1 > U912 > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U231(ok(X)) → U231(X)
U231(mark(X)) → U231(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U231(mark(X)) → U231(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U231(ok(X)) → U231(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U231(ok(X)) → U231(X)
U23^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U221(ok(X1), ok(X2)) → U221(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U221(mark(X1), X2) → U221(X1, X2)
active1 > U1013 > U1023 > mark1
active1 > isNatKind > mark1
active1 > isNatKind > tt
active1 > U1033 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U131 > mark1
active1 > U151 > mark1
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U341 > mark1
active1 > U621 > mark1
active1 > U621 > tt
active1 > U712 > U722 > mark1
active1 > U823 > isNat > tt
active1 > U823 > isNat > U111 > mark1
active1 > U833 > U843 > plus2 > U813 > mark1
active1 > 0 > tt
proper1 > U1013 > U1023 > mark1
proper1 > isNatKind > mark1
proper1 > isNatKind > tt
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U131 > mark1
proper1 > U151 > mark1
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U341 > mark1
proper1 > U621 > mark1
proper1 > U621 > tt
proper1 > U712 > U722 > mark1
proper1 > U823 > isNat > tt
proper1 > U823 > isNat > U111 > mark1
proper1 > U833 > U843 > plus2 > U813 > mark1
proper1 > 0 > tt
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U221(ok(X1), ok(X2)) → U221(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U221(ok(X1), ok(X2)) → U221(X1, X2)
U22^11 > mark1
active1 > U1013 > ok1 > mark1
active1 > U1023 > ok1 > mark1
active1 > U1033 > ok1 > mark1
active1 > U1043 > x2 > U612 > ok1 > mark1
active1 > U1043 > x2 > U912 > ok1 > mark1
active1 > plus2 > U113 > ok1 > mark1
active1 > plus2 > U813 > ok1 > mark1
active1 > U123 > ok1 > mark1
active1 > U133 > U143 > ok1 > mark1
active1 > U152 > ok1 > mark1
active1 > U212 > ok1 > mark1
active1 > U222 > ok1 > mark1
active1 > U313 > U323 > ok1 > mark1
active1 > U333 > ok1 > mark1
active1 > U343 > U352 > ok1 > mark1
active1 > U361 > ok1 > mark1
active1 > U361 > tt > mark1
active1 > U412 > ok1 > mark1
active1 > U621 > ok1 > mark1
active1 > U621 > tt > mark1
active1 > U712 > U722 > ok1 > mark1
active1 > U823 > ok1 > mark1
active1 > U833 > ok1 > mark1
active1 > U843 > ok1 > mark1
active1 > U921 > ok1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U912 > ok1 > mark1
proper1 > U1013 > ok1 > mark1
proper1 > U1023 > ok1 > mark1
proper1 > U1033 > ok1 > mark1
proper1 > U1043 > x2 > U612 > ok1 > mark1
proper1 > U1043 > x2 > U912 > ok1 > mark1
proper1 > plus2 > U113 > ok1 > mark1
proper1 > plus2 > U813 > ok1 > mark1
proper1 > U123 > ok1 > mark1
proper1 > U133 > U143 > ok1 > mark1
proper1 > U152 > ok1 > mark1
proper1 > U212 > ok1 > mark1
proper1 > U222 > ok1 > mark1
proper1 > U313 > U323 > ok1 > mark1
proper1 > U333 > ok1 > mark1
proper1 > U343 > U352 > ok1 > mark1
proper1 > U361 > ok1 > mark1
proper1 > U361 > tt > mark1
proper1 > U412 > ok1 > mark1
proper1 > U621 > ok1 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > ok1 > mark1
proper1 > U823 > ok1 > mark1
proper1 > U833 > ok1 > mark1
proper1 > U843 > ok1 > mark1
proper1 > U921 > ok1 > mark1
proper1 > 0 > tt > mark1
proper1 > 0 > U912 > ok1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U211(ok(X1), ok(X2)) → U211(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(mark(X1), X2) → U211(X1, X2)
active1 > U1013 > U1023 > mark1
active1 > isNatKind > mark1
active1 > isNatKind > tt
active1 > U1033 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U131 > mark1
active1 > U151 > mark1
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U341 > mark1
active1 > U621 > mark1
active1 > U621 > tt
active1 > U712 > U722 > mark1
active1 > U823 > isNat > tt
active1 > U823 > isNat > U111 > mark1
active1 > U833 > U843 > plus2 > U813 > mark1
active1 > 0 > tt
proper1 > U1013 > U1023 > mark1
proper1 > isNatKind > mark1
proper1 > isNatKind > tt
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U131 > mark1
proper1 > U151 > mark1
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U341 > mark1
proper1 > U621 > mark1
proper1 > U621 > tt
proper1 > U712 > U722 > mark1
proper1 > U823 > isNat > tt
proper1 > U823 > isNat > U111 > mark1
proper1 > U833 > U843 > plus2 > U813 > mark1
proper1 > 0 > tt
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U211(ok(X1), ok(X2)) → U211(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(ok(X1), ok(X2)) → U211(X1, X2)
U21^11 > mark1
active1 > U1013 > ok1 > mark1
active1 > U1023 > ok1 > mark1
active1 > U1033 > ok1 > mark1
active1 > U1043 > x2 > U612 > ok1 > mark1
active1 > U1043 > x2 > U912 > ok1 > mark1
active1 > plus2 > U113 > ok1 > mark1
active1 > plus2 > U813 > ok1 > mark1
active1 > U123 > ok1 > mark1
active1 > U133 > U143 > ok1 > mark1
active1 > U152 > ok1 > mark1
active1 > U212 > ok1 > mark1
active1 > U222 > ok1 > mark1
active1 > U313 > U323 > ok1 > mark1
active1 > U333 > ok1 > mark1
active1 > U343 > U352 > ok1 > mark1
active1 > U361 > ok1 > mark1
active1 > U361 > tt > mark1
active1 > U412 > ok1 > mark1
active1 > U621 > ok1 > mark1
active1 > U621 > tt > mark1
active1 > U712 > U722 > ok1 > mark1
active1 > U823 > ok1 > mark1
active1 > U833 > ok1 > mark1
active1 > U843 > ok1 > mark1
active1 > U921 > ok1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U912 > ok1 > mark1
proper1 > U1013 > ok1 > mark1
proper1 > U1023 > ok1 > mark1
proper1 > U1033 > ok1 > mark1
proper1 > U1043 > x2 > U612 > ok1 > mark1
proper1 > U1043 > x2 > U912 > ok1 > mark1
proper1 > plus2 > U113 > ok1 > mark1
proper1 > plus2 > U813 > ok1 > mark1
proper1 > U123 > ok1 > mark1
proper1 > U133 > U143 > ok1 > mark1
proper1 > U152 > ok1 > mark1
proper1 > U212 > ok1 > mark1
proper1 > U222 > ok1 > mark1
proper1 > U313 > U323 > ok1 > mark1
proper1 > U333 > ok1 > mark1
proper1 > U343 > U352 > ok1 > mark1
proper1 > U361 > ok1 > mark1
proper1 > U361 > tt > mark1
proper1 > U412 > ok1 > mark1
proper1 > U621 > ok1 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > ok1 > mark1
proper1 > U823 > ok1 > mark1
proper1 > U833 > ok1 > mark1
proper1 > U843 > ok1 > mark1
proper1 > U921 > ok1 > mark1
proper1 > 0 > tt > mark1
proper1 > 0 > U912 > ok1 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U161(ok(X)) → U161(X)
U161(mark(X)) → U161(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U161(mark(X)) → U161(X)
active1 > U1033 > isNatKind > tt > U1023 > mark1
active1 > U1033 > isNatKind > tt > U221 > mark1
active1 > U1033 > U1043 > x2 > U1013 > mark1
active1 > plus2 > U813 > U823 > U833 > U843 > mark1
active1 > U111 > isNatKind > tt > U1023 > mark1
active1 > U111 > isNatKind > tt > U221 > mark1
active1 > U121 > isNatKind > tt > U1023 > mark1
active1 > U121 > isNatKind > tt > U221 > mark1
active1 > U131 > isNatKind > tt > U1023 > mark1
active1 > U131 > isNatKind > tt > U221 > mark1
active1 > U141 > isNat > tt > U1023 > mark1
active1 > U141 > isNat > tt > U221 > mark1
active1 > U151 > isNat > tt > U1023 > mark1
active1 > U151 > isNat > tt > U221 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U321 > U331 > mark1
active1 > U351 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U511 > tt > U1023 > mark1
active1 > U511 > tt > U221 > mark1
active1 > U611 > isNatKind > tt > U1023 > mark1
active1 > U611 > isNatKind > tt > U221 > mark1
active1 > U712 > isNatKind > tt > U1023 > mark1
active1 > U712 > isNatKind > tt > U221 > mark1
active1 > U722 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U221 > mark1
top > proper1 > U1033 > isNatKind > tt > U1023 > mark1
top > proper1 > U1033 > isNatKind > tt > U221 > mark1
top > proper1 > U1033 > U1043 > x2 > U1013 > mark1
top > proper1 > plus2 > U813 > U823 > U833 > U843 > mark1
top > proper1 > U111 > isNatKind > tt > U1023 > mark1
top > proper1 > U111 > isNatKind > tt > U221 > mark1
top > proper1 > U121 > isNatKind > tt > U1023 > mark1
top > proper1 > U121 > isNatKind > tt > U221 > mark1
top > proper1 > U131 > isNatKind > tt > U1023 > mark1
top > proper1 > U131 > isNatKind > tt > U221 > mark1
top > proper1 > U141 > isNat > tt > U1023 > mark1
top > proper1 > U141 > isNat > tt > U221 > mark1
top > proper1 > U151 > isNat > tt > U1023 > mark1
top > proper1 > U151 > isNat > tt > U221 > mark1
top > proper1 > U231 > tt > U1023 > mark1
top > proper1 > U231 > tt > U221 > mark1
top > proper1 > U321 > U331 > mark1
top > proper1 > U351 > mark1
top > proper1 > U361 > tt > U1023 > mark1
top > proper1 > U361 > tt > U221 > mark1
top > proper1 > U511 > tt > U1023 > mark1
top > proper1 > U511 > tt > U221 > mark1
top > proper1 > U611 > isNatKind > tt > U1023 > mark1
top > proper1 > U611 > isNatKind > tt > U221 > mark1
top > proper1 > U712 > isNatKind > tt > U1023 > mark1
top > proper1 > U712 > isNatKind > tt > U221 > mark1
top > proper1 > U722 > mark1
top > proper1 > 0 > tt > U1023 > mark1
top > proper1 > 0 > tt > U221 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U161(ok(X)) → U161(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U161(ok(X)) → U161(X)
U16^11 > ok1
top > active1 > plus2 > isNat1 > ok1
top > active1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > active1 > plus2 > U712 > mark1 > ok1
top > active1 > plus2 > U813 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > active1 > x2 > U1013 > U1023 > isNat1 > ok1
top > active1 > x2 > U313 > mark1 > ok1
top > active1 > x2 > U612 > mark1 > ok1
top > active1 > x2 > U912 > U921 > mark1 > ok1
top > active1 > x2 > U912 > U921 > 0 > ok1
top > active1 > U143 > mark1 > ok1
top > active1 > U143 > isNat1 > ok1
top > active1 > U152 > isNat1 > ok1
top > active1 > U152 > U161 > tt > 0 > ok1
top > active1 > U152 > U161 > mark1 > ok1
top > active1 > U212 > mark1 > ok1
top > active1 > U222 > mark1 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U323 > U333 > mark1 > ok1
top > active1 > U343 > U352 > mark1 > ok1
top > active1 > U343 > U352 > isNat1 > ok1
top > active1 > U361 > tt > 0 > ok1
top > active1 > U361 > mark1 > ok1
top > active1 > U412 > mark1 > ok1
top > active1 > U421 > tt > 0 > ok1
top > active1 > U421 > mark1 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U511 > mark1 > ok1
top > active1 > U621 > tt > 0 > ok1
top > active1 > U621 > mark1 > ok1
top > active1 > U722 > mark1 > ok1
top > active1 > U823 > mark1 > ok1
top > active1 > U823 > isNat1 > ok1
top > active1 > U833 > U843 > mark1 > ok1
top > proper1 > plus2 > isNat1 > ok1
top > proper1 > plus2 > U113 > U123 > U133 > mark1 > ok1
top > proper1 > plus2 > U712 > mark1 > ok1
top > proper1 > plus2 > U813 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
top > proper1 > x2 > U1013 > U1023 > isNat1 > ok1
top > proper1 > x2 > U313 > mark1 > ok1
top > proper1 > x2 > U612 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > mark1 > ok1
top > proper1 > x2 > U912 > U921 > 0 > ok1
top > proper1 > U143 > mark1 > ok1
top > proper1 > U143 > isNat1 > ok1
top > proper1 > U152 > isNat1 > ok1
top > proper1 > U152 > U161 > tt > 0 > ok1
top > proper1 > U152 > U161 > mark1 > ok1
top > proper1 > U212 > mark1 > ok1
top > proper1 > U222 > mark1 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U323 > U333 > mark1 > ok1
top > proper1 > U343 > U352 > mark1 > ok1
top > proper1 > U343 > U352 > isNat1 > ok1
top > proper1 > U361 > tt > 0 > ok1
top > proper1 > U361 > mark1 > ok1
top > proper1 > U412 > mark1 > ok1
top > proper1 > U421 > tt > 0 > ok1
top > proper1 > U421 > mark1 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U511 > mark1 > ok1
top > proper1 > U621 > tt > 0 > ok1
top > proper1 > U621 > mark1 > ok1
top > proper1 > U722 > mark1 > ok1
top > proper1 > U823 > mark1 > ok1
top > proper1 > U823 > isNat1 > ok1
top > proper1 > U833 > U843 > mark1 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U151(ok(X1), ok(X2)) → U151(X1, X2)
U151(mark(X1), X2) → U151(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U151(mark(X1), X2) → U151(X1, X2)
active1 > isNat > tt > isNatKind > proper1 > U1033 > U1043 > mark1
active1 > isNat > tt > isNatKind > proper1 > x2 > U1013 > U1023 > mark1
active1 > isNat > tt > isNatKind > proper1 > U151 > U161 > mark1
active1 > isNat > tt > isNatKind > proper1 > U211 > mark1
active1 > isNat > tt > isNatKind > proper1 > U311 > mark1
active1 > isNat > tt > isNatKind > proper1 > U321 > mark1
active1 > isNat > tt > isNatKind > proper1 > U341 > mark1
active1 > isNat > tt > isNatKind > proper1 > U351 > mark1
active1 > isNat > tt > isNatKind > proper1 > U421 > mark1
active1 > isNat > tt > isNatKind > proper1 > U511 > mark1
active1 > isNat > tt > isNatKind > proper1 > U611 > mark1
active1 > isNat > tt > isNatKind > proper1 > U621 > mark1
active1 > isNat > tt > isNatKind > proper1 > U712 > U722 > mark1
active1 > isNat > tt > isNatKind > proper1 > U823 > U833 > mark1
active1 > isNat > tt > isNatKind > proper1 > U843 > plus2 > U813 > mark1
active1 > isNat > tt > isNatKind > proper1 > U843 > s1 > U813 > mark1
active1 > isNat > tt > isNatKind > proper1 > U921 > mark1
active1 > 0 > tt > isNatKind > proper1 > U1033 > U1043 > mark1
active1 > 0 > tt > isNatKind > proper1 > x2 > U1013 > U1023 > mark1
active1 > 0 > tt > isNatKind > proper1 > U151 > U161 > mark1
active1 > 0 > tt > isNatKind > proper1 > U211 > mark1
active1 > 0 > tt > isNatKind > proper1 > U311 > mark1
active1 > 0 > tt > isNatKind > proper1 > U321 > mark1
active1 > 0 > tt > isNatKind > proper1 > U341 > mark1
active1 > 0 > tt > isNatKind > proper1 > U351 > mark1
active1 > 0 > tt > isNatKind > proper1 > U421 > mark1
active1 > 0 > tt > isNatKind > proper1 > U511 > mark1
active1 > 0 > tt > isNatKind > proper1 > U611 > mark1
active1 > 0 > tt > isNatKind > proper1 > U621 > mark1
active1 > 0 > tt > isNatKind > proper1 > U712 > U722 > mark1
active1 > 0 > tt > isNatKind > proper1 > U823 > U833 > mark1
active1 > 0 > tt > isNatKind > proper1 > U843 > plus2 > U813 > mark1
active1 > 0 > tt > isNatKind > proper1 > U843 > s1 > U813 > mark1
active1 > 0 > tt > isNatKind > proper1 > U921 > mark1
top > proper1 > U1033 > U1043 > mark1
top > proper1 > x2 > U1013 > U1023 > mark1
top > proper1 > U151 > U161 > mark1
top > proper1 > U211 > mark1
top > proper1 > U311 > mark1
top > proper1 > U321 > mark1
top > proper1 > U341 > mark1
top > proper1 > U351 > mark1
top > proper1 > U421 > mark1
top > proper1 > U511 > mark1
top > proper1 > U611 > mark1
top > proper1 > U621 > mark1
top > proper1 > U712 > U722 > mark1
top > proper1 > U823 > U833 > mark1
top > proper1 > U843 > plus2 > U813 > mark1
top > proper1 > U843 > s1 > U813 > mark1
top > proper1 > U921 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U151(ok(X1), ok(X2)) → U151(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U151(ok(X1), ok(X2)) → U151(X1, X2)
U15^11 > ok1
active1 > tt > U1023 > mark1 > ok1
active1 > tt > U1033 > mark1 > ok1
active1 > tt > U1043 > plus2 > mark1 > ok1
active1 > tt > U1043 > x2 > U1013 > mark1 > ok1
active1 > tt > U1043 > x2 > U612 > mark1 > ok1
active1 > tt > U123 > isNatKind1 > U511 > mark1 > ok1
active1 > tt > U123 > isNatKind1 > U612 > mark1 > ok1
active1 > tt > U123 > U133 > mark1 > ok1
active1 > tt > U143 > U152 > mark1 > ok1
active1 > tt > U161 > mark1 > ok1
active1 > tt > U222 > mark1 > ok1
active1 > tt > U231 > mark1 > ok1
active1 > tt > U323 > mark1 > ok1
active1 > tt > U333 > U343 > U352 > mark1 > ok1
active1 > tt > U421 > mark1 > ok1
active1 > tt > U621 > mark1 > ok1
active1 > tt > U722 > mark1 > ok1
active1 > tt > U823 > mark1 > ok1
active1 > tt > U833 > mark1 > ok1
active1 > tt > U843 > plus2 > mark1 > ok1
active1 > tt > 0 > U912 > mark1 > ok1
active1 > U113 > mark1 > ok1
active1 > U212 > U222 > mark1 > ok1
active1 > U313 > mark1 > ok1
active1 > U412 > U421 > mark1 > ok1
active1 > U712 > U722 > mark1 > ok1
active1 > U813 > U823 > mark1 > ok1
proper1 > U1023 > mark1 > ok1
proper1 > U1033 > mark1 > ok1
proper1 > U1043 > plus2 > mark1 > ok1
proper1 > U1043 > x2 > U1013 > mark1 > ok1
proper1 > U1043 > x2 > U612 > mark1 > ok1
proper1 > U113 > mark1 > ok1
proper1 > U123 > isNatKind1 > U511 > mark1 > ok1
proper1 > U123 > isNatKind1 > U612 > mark1 > ok1
proper1 > U123 > U133 > mark1 > ok1
proper1 > U143 > U152 > mark1 > ok1
proper1 > U161 > mark1 > ok1
proper1 > U212 > U222 > mark1 > ok1
proper1 > U231 > mark1 > ok1
proper1 > U313 > mark1 > ok1
proper1 > U323 > mark1 > ok1
proper1 > U333 > U343 > U352 > mark1 > ok1
proper1 > U412 > U421 > mark1 > ok1
proper1 > U621 > mark1 > ok1
proper1 > U712 > U722 > mark1 > ok1
proper1 > U813 > U823 > mark1 > ok1
proper1 > U833 > mark1 > ok1
proper1 > U843 > plus2 > mark1 > ok1
proper1 > 0 > U912 > mark1 > ok1
top > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U141(mark(X1), X2, X3) → U141(X1, X2, X3)
active1 > U1013 > mark1 > U14^13
active1 > U1023 > U1033 > U1043 > mark1 > U14^13
active1 > x2 > U912 > mark1 > U14^13
active1 > U113 > U123 > mark1 > U14^13
active1 > U133 > U143 > U152 > mark1 > U14^13
active1 > U212 > mark1 > U14^13
active1 > U222 > mark1 > U14^13
active1 > U313 > mark1 > U14^13
active1 > U323 > mark1 > U14^13
active1 > U333 > mark1 > U14^13
active1 > U343 > mark1 > U14^13
active1 > U352 > mark1 > U14^13
active1 > U412 > mark1 > U14^13
active1 > U511 > mark1 > U14^13
active1 > U511 > tt > 0
active1 > U612 > mark1 > U14^13
active1 > U712 > mark1 > U14^13
active1 > U722 > mark1 > U14^13
active1 > U813 > mark1 > U14^13
active1 > U823 > mark1 > U14^13
active1 > U833 > U843 > plus2 > mark1 > U14^13
proper1 > U1013 > mark1 > U14^13
proper1 > U1023 > U1033 > U1043 > mark1 > U14^13
proper1 > x2 > U912 > mark1 > U14^13
proper1 > U113 > U123 > mark1 > U14^13
proper1 > U133 > U143 > U152 > mark1 > U14^13
proper1 > U212 > mark1 > U14^13
proper1 > U222 > mark1 > U14^13
proper1 > U313 > mark1 > U14^13
proper1 > U323 > mark1 > U14^13
proper1 > U333 > mark1 > U14^13
proper1 > U343 > mark1 > U14^13
proper1 > U352 > mark1 > U14^13
proper1 > U412 > mark1 > U14^13
proper1 > U511 > mark1 > U14^13
proper1 > U511 > tt > 0
proper1 > U612 > mark1 > U14^13
proper1 > U712 > mark1 > U14^13
proper1 > U722 > mark1 > U14^13
proper1 > U813 > mark1 > U14^13
proper1 > U823 > mark1 > U14^13
proper1 > U833 > U843 > plus2 > mark1 > U14^13
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U141(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
top > active1 > tt > U1023 > U1033 > ok1
top > active1 > tt > isNatKind1 > U511 > ok1
top > active1 > tt > isNatKind1 > U612 > ok1
top > active1 > tt > isNat1 > U113 > ok1
top > active1 > tt > isNat1 > U313 > U323 > ok1
top > active1 > tt > U1042 > plus2 > U813 > U823 > ok1
top > active1 > tt > x2 > U1012 > ok1
top > active1 > tt > U123 > U133 > ok1
top > active1 > tt > U142 > U151 > ok1
top > active1 > tt > U161 > ok1
top > active1 > tt > U221 > ok1
top > active1 > tt > U231 > ok1
top > active1 > tt > U332 > ok1
top > active1 > tt > U421 > ok1
top > active1 > tt > U722 > ok1
top > active1 > tt > U832 > U843 > plus2 > U813 > U823 > ok1
top > active1 > tt > s1 > U1012 > ok1
top > active1 > tt > s1 > U511 > ok1
top > active1 > tt > s1 > U813 > U823 > ok1
top > active1 > tt > U921 > ok1
top > active1 > U412 > U421 > ok1
top > active1 > 0 > isNat1 > U113 > ok1
top > active1 > 0 > isNat1 > U313 > U323 > ok1
top > active1 > 0 > U912 > U921 > ok1
top > proper1 > U1023 > U1033 > ok1
top > proper1 > isNatKind1 > U511 > ok1
top > proper1 > isNatKind1 > U612 > ok1
top > proper1 > isNat1 > U113 > ok1
top > proper1 > isNat1 > U313 > U323 > ok1
top > proper1 > U1042 > plus2 > U813 > U823 > ok1
top > proper1 > x2 > U1012 > ok1
top > proper1 > U123 > U133 > ok1
top > proper1 > U142 > U151 > ok1
top > proper1 > U161 > ok1
top > proper1 > U221 > ok1
top > proper1 > U231 > ok1
top > proper1 > U332 > ok1
top > proper1 > U412 > U421 > ok1
top > proper1 > U722 > ok1
top > proper1 > U832 > U843 > plus2 > U813 > U823 > ok1
top > proper1 > s1 > U1012 > ok1
top > proper1 > s1 > U511 > ok1
top > proper1 > s1 > U813 > U823 > ok1
top > proper1 > U912 > U921 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U131(mark(X1), X2, X3) → U131(X1, X2, X3)
active1 > U1013 > mark1 > U13^13
active1 > U1023 > U1033 > U1043 > mark1 > U13^13
active1 > x2 > U912 > mark1 > U13^13
active1 > U113 > U123 > mark1 > U13^13
active1 > U133 > U143 > U152 > mark1 > U13^13
active1 > U212 > mark1 > U13^13
active1 > U222 > mark1 > U13^13
active1 > U313 > mark1 > U13^13
active1 > U323 > mark1 > U13^13
active1 > U333 > mark1 > U13^13
active1 > U343 > mark1 > U13^13
active1 > U352 > mark1 > U13^13
active1 > U412 > mark1 > U13^13
active1 > U511 > mark1 > U13^13
active1 > U511 > tt > 0
active1 > U612 > mark1 > U13^13
active1 > U712 > mark1 > U13^13
active1 > U722 > mark1 > U13^13
active1 > U813 > mark1 > U13^13
active1 > U823 > mark1 > U13^13
active1 > U833 > U843 > plus2 > mark1 > U13^13
proper1 > U1013 > mark1 > U13^13
proper1 > U1023 > U1033 > U1043 > mark1 > U13^13
proper1 > x2 > U912 > mark1 > U13^13
proper1 > U113 > U123 > mark1 > U13^13
proper1 > U133 > U143 > U152 > mark1 > U13^13
proper1 > U212 > mark1 > U13^13
proper1 > U222 > mark1 > U13^13
proper1 > U313 > mark1 > U13^13
proper1 > U323 > mark1 > U13^13
proper1 > U333 > mark1 > U13^13
proper1 > U343 > mark1 > U13^13
proper1 > U352 > mark1 > U13^13
proper1 > U412 > mark1 > U13^13
proper1 > U511 > mark1 > U13^13
proper1 > U511 > tt > 0
proper1 > U612 > mark1 > U13^13
proper1 > U712 > mark1 > U13^13
proper1 > U722 > mark1 > U13^13
proper1 > U813 > mark1 > U13^13
proper1 > U823 > mark1 > U13^13
proper1 > U833 > U843 > plus2 > mark1 > U13^13
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U131(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
top > active1 > tt > U1023 > U1033 > ok1
top > active1 > tt > isNatKind1 > U511 > ok1
top > active1 > tt > isNatKind1 > U612 > ok1
top > active1 > tt > isNat1 > U113 > ok1
top > active1 > tt > isNat1 > U313 > U323 > ok1
top > active1 > tt > U1042 > plus2 > U813 > U823 > ok1
top > active1 > tt > x2 > U1012 > ok1
top > active1 > tt > U123 > U133 > ok1
top > active1 > tt > U142 > U151 > ok1
top > active1 > tt > U161 > ok1
top > active1 > tt > U221 > ok1
top > active1 > tt > U231 > ok1
top > active1 > tt > U332 > ok1
top > active1 > tt > U421 > ok1
top > active1 > tt > U722 > ok1
top > active1 > tt > U832 > U843 > plus2 > U813 > U823 > ok1
top > active1 > tt > s1 > U1012 > ok1
top > active1 > tt > s1 > U511 > ok1
top > active1 > tt > s1 > U813 > U823 > ok1
top > active1 > tt > U921 > ok1
top > active1 > U412 > U421 > ok1
top > active1 > 0 > isNat1 > U113 > ok1
top > active1 > 0 > isNat1 > U313 > U323 > ok1
top > active1 > 0 > U912 > U921 > ok1
top > proper1 > U1023 > U1033 > ok1
top > proper1 > isNatKind1 > U511 > ok1
top > proper1 > isNatKind1 > U612 > ok1
top > proper1 > isNat1 > U113 > ok1
top > proper1 > isNat1 > U313 > U323 > ok1
top > proper1 > U1042 > plus2 > U813 > U823 > ok1
top > proper1 > x2 > U1012 > ok1
top > proper1 > U123 > U133 > ok1
top > proper1 > U142 > U151 > ok1
top > proper1 > U161 > ok1
top > proper1 > U221 > ok1
top > proper1 > U231 > ok1
top > proper1 > U332 > ok1
top > proper1 > U412 > U421 > ok1
top > proper1 > U722 > ok1
top > proper1 > U832 > U843 > plus2 > U813 > U823 > ok1
top > proper1 > s1 > U1012 > ok1
top > proper1 > s1 > U511 > ok1
top > proper1 > s1 > U813 > U823 > ok1
top > proper1 > U912 > U921 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
active1 > U1043 > x2 > mark1
active1 > plus2 > U412 > mark1
active1 > plus2 > U712 > mark1
active1 > U113 > U123 > mark1
active1 > U152 > mark1
active1 > U231 > tt > U1023 > U1033 > mark1
active1 > U231 > tt > x2 > mark1
active1 > U231 > tt > U123 > mark1
active1 > U231 > tt > U133 > U143 > mark1
active1 > U231 > tt > U222 > mark1
active1 > U231 > tt > U323 > mark1
active1 > U231 > tt > U343 > U352 > mark1
active1 > U231 > tt > U833 > U843 > mark1
active1 > U231 > tt > 0
active1 > U313 > mark1
active1 > U333 > U343 > U352 > mark1
active1 > U361 > tt > U1023 > U1033 > mark1
active1 > U361 > tt > x2 > mark1
active1 > U361 > tt > U123 > mark1
active1 > U361 > tt > U133 > U143 > mark1
active1 > U361 > tt > U222 > mark1
active1 > U361 > tt > U323 > mark1
active1 > U361 > tt > U343 > U352 > mark1
active1 > U361 > tt > U833 > U843 > mark1
active1 > U361 > tt > 0
active1 > U612 > mark1
active1 > U621 > tt > U1023 > U1033 > mark1
active1 > U621 > tt > x2 > mark1
active1 > U621 > tt > U123 > mark1
active1 > U621 > tt > U133 > U143 > mark1
active1 > U621 > tt > U222 > mark1
active1 > U621 > tt > U323 > mark1
active1 > U621 > tt > U343 > U352 > mark1
active1 > U621 > tt > U833 > U843 > mark1
active1 > U621 > tt > 0
active1 > U722 > mark1
active1 > U823 > U833 > U843 > mark1
active1 > s1 > U1013 > U1023 > U1033 > mark1
active1 > s1 > U212 > U222 > mark1
active1 > s1 > U511 > mark1
active1 > s1 > U813 > mark1
active1 > U912 > mark1
active1 > U921 > mark1
active1 > U921 > 0
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
top > proper1 > U1041 > active1 > U1013 > isNatKind1 > ok1
top > proper1 > U1041 > active1 > U1013 > isNatKind1 > tt > 0
top > proper1 > U1041 > active1 > U1023 > mark > U1033 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > x2 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > U221 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > U231 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > U231 > tt > 0
top > proper1 > U1041 > active1 > U1023 > mark > U313 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > U712 > U721 > ok1
top > proper1 > U1041 > active1 > U1023 > mark > U843 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U1033 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > x2 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U221 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U231 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U231 > tt > 0
top > proper1 > U1041 > active1 > plus2 > mark > U313 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U712 > U721 > ok1
top > proper1 > U1041 > active1 > plus2 > mark > U843 > ok1
top > proper1 > U1041 > active1 > plus2 > U813 > isNatKind1 > ok1
top > proper1 > U1041 > active1 > plus2 > U813 > isNatKind1 > tt > 0
top > proper1 > U1041 > active1 > U123 > isNatKind1 > ok1
top > proper1 > U1041 > active1 > U123 > isNatKind1 > tt > 0
top > proper1 > U1041 > active1 > U143 > mark > U1033 > ok1
top > proper1 > U1041 > active1 > U143 > mark > x2 > ok1
top > proper1 > U1041 > active1 > U143 > mark > U221 > ok1
top > proper1 > U1041 > active1 > U143 > mark > U231 > ok1
top > proper1 > U1041 > active1 > U143 > mark > U231 > tt > 0
top > proper1 > U1041 > active1 > U143 > mark > U313 > ok1
top > proper1 > U1041 > active1 > U143 > mark > U712 > U721 > ok1
top > proper1 > U1041 > active1 > U143 > mark > U843 > ok1
top > proper1 > U1041 > active1 > U333 > isNatKind1 > ok1
top > proper1 > U1041 > active1 > U333 > isNatKind1 > tt > 0
top > proper1 > U1041 > active1 > U351 > ok1
top > proper1 > U1041 > active1 > U511 > ok1
top > proper1 > U1041 > active1 > U511 > tt > 0
top > proper1 > U1041 > active1 > U832 > mark > U1033 > ok1
top > proper1 > U1041 > active1 > U832 > mark > x2 > ok1
top > proper1 > U1041 > active1 > U832 > mark > U221 > ok1
top > proper1 > U1041 > active1 > U832 > mark > U231 > ok1
top > proper1 > U1041 > active1 > U832 > mark > U231 > tt > 0
top > proper1 > U1041 > active1 > U832 > mark > U313 > ok1
top > proper1 > U1041 > active1 > U832 > mark > U712 > U721 > ok1
top > proper1 > U1041 > active1 > U832 > mark > U843 > ok1
top > proper1 > U1041 > active1 > U832 > isNatKind1 > ok1
top > proper1 > U1041 > active1 > U832 > isNatKind1 > tt > 0
top > proper1 > U1041 > active1 > U921 > mark > U1033 > ok1
top > proper1 > U1041 > active1 > U921 > mark > x2 > ok1
top > proper1 > U1041 > active1 > U921 > mark > U221 > ok1
top > proper1 > U1041 > active1 > U921 > mark > U231 > ok1
top > proper1 > U1041 > active1 > U921 > mark > U231 > tt > 0
top > proper1 > U1041 > active1 > U921 > mark > U313 > ok1
top > proper1 > U1041 > active1 > U921 > mark > U712 > U721 > ok1
top > proper1 > U1041 > active1 > U921 > mark > U843 > ok1
top > proper1 > U132 > active1 > U1013 > isNatKind1 > ok1
top > proper1 > U132 > active1 > U1013 > isNatKind1 > tt > 0
top > proper1 > U132 > active1 > U1023 > mark > U1033 > ok1
top > proper1 > U132 > active1 > U1023 > mark > x2 > ok1
top > proper1 > U132 > active1 > U1023 > mark > U221 > ok1
top > proper1 > U132 > active1 > U1023 > mark > U231 > ok1
top > proper1 > U132 > active1 > U1023 > mark > U231 > tt > 0
top > proper1 > U132 > active1 > U1023 > mark > U313 > ok1
top > proper1 > U132 > active1 > U1023 > mark > U712 > U721 > ok1
top > proper1 > U132 > active1 > U1023 > mark > U843 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U1033 > ok1
top > proper1 > U132 > active1 > plus2 > mark > x2 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U221 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U231 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U231 > tt > 0
top > proper1 > U132 > active1 > plus2 > mark > U313 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U712 > U721 > ok1
top > proper1 > U132 > active1 > plus2 > mark > U843 > ok1
top > proper1 > U132 > active1 > plus2 > U813 > isNatKind1 > ok1
top > proper1 > U132 > active1 > plus2 > U813 > isNatKind1 > tt > 0
top > proper1 > U132 > active1 > U123 > isNatKind1 > ok1
top > proper1 > U132 > active1 > U123 > isNatKind1 > tt > 0
top > proper1 > U132 > active1 > U143 > mark > U1033 > ok1
top > proper1 > U132 > active1 > U143 > mark > x2 > ok1
top > proper1 > U132 > active1 > U143 > mark > U221 > ok1
top > proper1 > U132 > active1 > U143 > mark > U231 > ok1
top > proper1 > U132 > active1 > U143 > mark > U231 > tt > 0
top > proper1 > U132 > active1 > U143 > mark > U313 > ok1
top > proper1 > U132 > active1 > U143 > mark > U712 > U721 > ok1
top > proper1 > U132 > active1 > U143 > mark > U843 > ok1
top > proper1 > U132 > active1 > U333 > isNatKind1 > ok1
top > proper1 > U132 > active1 > U333 > isNatKind1 > tt > 0
top > proper1 > U132 > active1 > U351 > ok1
top > proper1 > U132 > active1 > U511 > ok1
top > proper1 > U132 > active1 > U511 > tt > 0
top > proper1 > U132 > active1 > U832 > mark > U1033 > ok1
top > proper1 > U132 > active1 > U832 > mark > x2 > ok1
top > proper1 > U132 > active1 > U832 > mark > U221 > ok1
top > proper1 > U132 > active1 > U832 > mark > U231 > ok1
top > proper1 > U132 > active1 > U832 > mark > U231 > tt > 0
top > proper1 > U132 > active1 > U832 > mark > U313 > ok1
top > proper1 > U132 > active1 > U832 > mark > U712 > U721 > ok1
top > proper1 > U132 > active1 > U832 > mark > U843 > ok1
top > proper1 > U132 > active1 > U832 > isNatKind1 > ok1
top > proper1 > U132 > active1 > U832 > isNatKind1 > tt > 0
top > proper1 > U132 > active1 > U921 > mark > U1033 > ok1
top > proper1 > U132 > active1 > U921 > mark > x2 > ok1
top > proper1 > U132 > active1 > U921 > mark > U221 > ok1
top > proper1 > U132 > active1 > U921 > mark > U231 > ok1
top > proper1 > U132 > active1 > U921 > mark > U231 > tt > 0
top > proper1 > U132 > active1 > U921 > mark > U313 > ok1
top > proper1 > U132 > active1 > U921 > mark > U712 > U721 > ok1
top > proper1 > U132 > active1 > U921 > mark > U843 > ok1
top > proper1 > U151 > mark > U1033 > ok1
top > proper1 > U151 > mark > x2 > ok1
top > proper1 > U151 > mark > U221 > ok1
top > proper1 > U151 > mark > U231 > ok1
top > proper1 > U151 > mark > U231 > tt > 0
top > proper1 > U151 > mark > U313 > ok1
top > proper1 > U151 > mark > U712 > U721 > ok1
top > proper1 > U151 > mark > U843 > ok1
top > proper1 > U211 > active1 > U1013 > isNatKind1 > ok1
top > proper1 > U211 > active1 > U1013 > isNatKind1 > tt > 0
top > proper1 > U211 > active1 > U1023 > mark > U1033 > ok1
top > proper1 > U211 > active1 > U1023 > mark > x2 > ok1
top > proper1 > U211 > active1 > U1023 > mark > U221 > ok1
top > proper1 > U211 > active1 > U1023 > mark > U231 > ok1
top > proper1 > U211 > active1 > U1023 > mark > U231 > tt > 0
top > proper1 > U211 > active1 > U1023 > mark > U313 > ok1
top > proper1 > U211 > active1 > U1023 > mark > U712 > U721 > ok1
top > proper1 > U211 > active1 > U1023 > mark > U843 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U1033 > ok1
top > proper1 > U211 > active1 > plus2 > mark > x2 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U221 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U231 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U231 > tt > 0
top > proper1 > U211 > active1 > plus2 > mark > U313 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U712 > U721 > ok1
top > proper1 > U211 > active1 > plus2 > mark > U843 > ok1
top > proper1 > U211 > active1 > plus2 > U813 > isNatKind1 > ok1
top > proper1 > U211 > active1 > plus2 > U813 > isNatKind1 > tt > 0
top > proper1 > U211 > active1 > U123 > isNatKind1 > ok1
top > proper1 > U211 > active1 > U123 > isNatKind1 > tt > 0
top > proper1 > U211 > active1 > U143 > mark > U1033 > ok1
top > proper1 > U211 > active1 > U143 > mark > x2 > ok1
top > proper1 > U211 > active1 > U143 > mark > U221 > ok1
top > proper1 > U211 > active1 > U143 > mark > U231 > ok1
top > proper1 > U211 > active1 > U143 > mark > U231 > tt > 0
top > proper1 > U211 > active1 > U143 > mark > U313 > ok1
top > proper1 > U211 > active1 > U143 > mark > U712 > U721 > ok1
top > proper1 > U211 > active1 > U143 > mark > U843 > ok1
top > proper1 > U211 > active1 > U333 > isNatKind1 > ok1
top > proper1 > U211 > active1 > U333 > isNatKind1 > tt > 0
top > proper1 > U211 > active1 > U351 > ok1
top > proper1 > U211 > active1 > U511 > ok1
top > proper1 > U211 > active1 > U511 > tt > 0
top > proper1 > U211 > active1 > U832 > mark > U1033 > ok1
top > proper1 > U211 > active1 > U832 > mark > x2 > ok1
top > proper1 > U211 > active1 > U832 > mark > U221 > ok1
top > proper1 > U211 > active1 > U832 > mark > U231 > ok1
top > proper1 > U211 > active1 > U832 > mark > U231 > tt > 0
top > proper1 > U211 > active1 > U832 > mark > U313 > ok1
top > proper1 > U211 > active1 > U832 > mark > U712 > U721 > ok1
top > proper1 > U211 > active1 > U832 > mark > U843 > ok1
top > proper1 > U211 > active1 > U832 > isNatKind1 > ok1
top > proper1 > U211 > active1 > U832 > isNatKind1 > tt > 0
top > proper1 > U211 > active1 > U921 > mark > U1033 > ok1
top > proper1 > U211 > active1 > U921 > mark > x2 > ok1
top > proper1 > U211 > active1 > U921 > mark > U221 > ok1
top > proper1 > U211 > active1 > U921 > mark > U231 > ok1
top > proper1 > U211 > active1 > U921 > mark > U231 > tt > 0
top > proper1 > U211 > active1 > U921 > mark > U313 > ok1
top > proper1 > U211 > active1 > U921 > mark > U712 > U721 > ok1
top > proper1 > U211 > active1 > U921 > mark > U843 > ok1
top > proper1 > U321 > active1 > U1013 > isNatKind1 > ok1
top > proper1 > U321 > active1 > U1013 > isNatKind1 > tt > 0
top > proper1 > U321 > active1 > U1023 > mark > U1033 > ok1
top > proper1 > U321 > active1 > U1023 > mark > x2 > ok1
top > proper1 > U321 > active1 > U1023 > mark > U221 > ok1
top > proper1 > U321 > active1 > U1023 > mark > U231 > ok1
top > proper1 > U321 > active1 > U1023 > mark > U231 > tt > 0
top > proper1 > U321 > active1 > U1023 > mark > U313 > ok1
top > proper1 > U321 > active1 > U1023 > mark > U712 > U721 > ok1
top > proper1 > U321 > active1 > U1023 > mark > U843 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U1033 > ok1
top > proper1 > U321 > active1 > plus2 > mark > x2 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U221 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U231 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U231 > tt > 0
top > proper1 > U321 > active1 > plus2 > mark > U313 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U712 > U721 > ok1
top > proper1 > U321 > active1 > plus2 > mark > U843 > ok1
top > proper1 > U321 > active1 > plus2 > U813 > isNatKind1 > ok1
top > proper1 > U321 > active1 > plus2 > U813 > isNatKind1 > tt > 0
top > proper1 > U321 > active1 > U123 > isNatKind1 > ok1
top > proper1 > U321 > active1 > U123 > isNatKind1 > tt > 0
top > proper1 > U321 > active1 > U143 > mark > U1033 > ok1
top > proper1 > U321 > active1 > U143 > mark > x2 > ok1
top > proper1 > U321 > active1 > U143 > mark > U221 > ok1
top > proper1 > U321 > active1 > U143 > mark > U231 > ok1
top > proper1 > U321 > active1 > U143 > mark > U231 > tt > 0
top > proper1 > U321 > active1 > U143 > mark > U313 > ok1
top > proper1 > U321 > active1 > U143 > mark > U712 > U721 > ok1
top > proper1 > U321 > active1 > U143 > mark > U843 > ok1
top > proper1 > U321 > active1 > U333 > isNatKind1 > ok1
top > proper1 > U321 > active1 > U333 > isNatKind1 > tt > 0
top > proper1 > U321 > active1 > U351 > ok1
top > proper1 > U321 > active1 > U511 > ok1
top > proper1 > U321 > active1 > U511 > tt > 0
top > proper1 > U321 > active1 > U832 > mark > U1033 > ok1
top > proper1 > U321 > active1 > U832 > mark > x2 > ok1
top > proper1 > U321 > active1 > U832 > mark > U221 > ok1
top > proper1 > U321 > active1 > U832 > mark > U231 > ok1
top > proper1 > U321 > active1 > U832 > mark > U231 > tt > 0
top > proper1 > U321 > active1 > U832 > mark > U313 > ok1
top > proper1 > U321 > active1 > U832 > mark > U712 > U721 > ok1
top > proper1 > U321 > active1 > U832 > mark > U843 > ok1
top > proper1 > U321 > active1 > U832 > isNatKind1 > ok1
top > proper1 > U321 > active1 > U832 > isNatKind1 > tt > 0
top > proper1 > U321 > active1 > U921 > mark > U1033 > ok1
top > proper1 > U321 > active1 > U921 > mark > x2 > ok1
top > proper1 > U321 > active1 > U921 > mark > U221 > ok1
top > proper1 > U321 > active1 > U921 > mark > U231 > ok1
top > proper1 > U321 > active1 > U921 > mark > U231 > tt > 0
top > proper1 > U321 > active1 > U921 > mark > U313 > ok1
top > proper1 > U321 > active1 > U921 > mark > U712 > U721 > ok1
top > proper1 > U321 > active1 > U921 > mark > U843 > ok1
top > proper1 > U911 > active1 > U1013 > isNatKind1 > ok1
top > proper1 > U911 > active1 > U1013 > isNatKind1 > tt > 0
top > proper1 > U911 > active1 > U1023 > mark > U1033 > ok1
top > proper1 > U911 > active1 > U1023 > mark > x2 > ok1
top > proper1 > U911 > active1 > U1023 > mark > U221 > ok1
top > proper1 > U911 > active1 > U1023 > mark > U231 > ok1
top > proper1 > U911 > active1 > U1023 > mark > U231 > tt > 0
top > proper1 > U911 > active1 > U1023 > mark > U313 > ok1
top > proper1 > U911 > active1 > U1023 > mark > U712 > U721 > ok1
top > proper1 > U911 > active1 > U1023 > mark > U843 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U1033 > ok1
top > proper1 > U911 > active1 > plus2 > mark > x2 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U221 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U231 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U231 > tt > 0
top > proper1 > U911 > active1 > plus2 > mark > U313 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U712 > U721 > ok1
top > proper1 > U911 > active1 > plus2 > mark > U843 > ok1
top > proper1 > U911 > active1 > plus2 > U813 > isNatKind1 > ok1
top > proper1 > U911 > active1 > plus2 > U813 > isNatKind1 > tt > 0
top > proper1 > U911 > active1 > U123 > isNatKind1 > ok1
top > proper1 > U911 > active1 > U123 > isNatKind1 > tt > 0
top > proper1 > U911 > active1 > U143 > mark > U1033 > ok1
top > proper1 > U911 > active1 > U143 > mark > x2 > ok1
top > proper1 > U911 > active1 > U143 > mark > U221 > ok1
top > proper1 > U911 > active1 > U143 > mark > U231 > ok1
top > proper1 > U911 > active1 > U143 > mark > U231 > tt > 0
top > proper1 > U911 > active1 > U143 > mark > U313 > ok1
top > proper1 > U911 > active1 > U143 > mark > U712 > U721 > ok1
top > proper1 > U911 > active1 > U143 > mark > U843 > ok1
top > proper1 > U911 > active1 > U333 > isNatKind1 > ok1
top > proper1 > U911 > active1 > U333 > isNatKind1 > tt > 0
top > proper1 > U911 > active1 > U351 > ok1
top > proper1 > U911 > active1 > U511 > ok1
top > proper1 > U911 > active1 > U511 > tt > 0
top > proper1 > U911 > active1 > U832 > mark > U1033 > ok1
top > proper1 > U911 > active1 > U832 > mark > x2 > ok1
top > proper1 > U911 > active1 > U832 > mark > U221 > ok1
top > proper1 > U911 > active1 > U832 > mark > U231 > ok1
top > proper1 > U911 > active1 > U832 > mark > U231 > tt > 0
top > proper1 > U911 > active1 > U832 > mark > U313 > ok1
top > proper1 > U911 > active1 > U832 > mark > U712 > U721 > ok1
top > proper1 > U911 > active1 > U832 > mark > U843 > ok1
top > proper1 > U911 > active1 > U832 > isNatKind1 > ok1
top > proper1 > U911 > active1 > U832 > isNatKind1 > tt > 0
top > proper1 > U911 > active1 > U921 > mark > U1033 > ok1
top > proper1 > U911 > active1 > U921 > mark > x2 > ok1
top > proper1 > U911 > active1 > U921 > mark > U221 > ok1
top > proper1 > U911 > active1 > U921 > mark > U231 > ok1
top > proper1 > U911 > active1 > U921 > mark > U231 > tt > 0
top > proper1 > U911 > active1 > U921 > mark > U313 > ok1
top > proper1 > U911 > active1 > U921 > mark > U712 > U721 > ok1
top > proper1 > U911 > active1 > U921 > mark > U843 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
active1 > U1013 > mark1
active1 > U113 > U123 > mark1
active1 > U313 > mark1
active1 > U412 > U421 > mark1
active1 > U813 > mark1
active1 > 0 > tt > U1023 > mark1
active1 > 0 > tt > U1033 > U1043 > plus2 > mark1
active1 > 0 > tt > isNat1 > U212 > mark1
active1 > 0 > tt > x2 > U612 > mark1
active1 > 0 > tt > U123 > mark1
active1 > 0 > tt > U133 > U143 > mark1
active1 > 0 > tt > U152 > mark1
active1 > 0 > tt > U222 > U231 > mark1
active1 > 0 > tt > U323 > mark1
active1 > 0 > tt > U333 > mark1
active1 > 0 > tt > U343 > mark1
active1 > 0 > tt > U352 > mark1
active1 > 0 > tt > U421 > mark1
active1 > 0 > tt > U722 > mark1
active1 > 0 > tt > U823 > U833 > mark1
active1 > 0 > tt > U843 > s1 > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U912 > mark1
proper1 > U1013 > mark1
proper1 > U1023 > mark1
proper1 > U1033 > U1043 > plus2 > mark1
proper1 > isNat1 > U212 > mark1
proper1 > x2 > U612 > mark1
proper1 > U113 > U123 > mark1
proper1 > U133 > U143 > mark1
proper1 > U152 > mark1
proper1 > U222 > U231 > mark1
proper1 > U313 > mark1
proper1 > U323 > mark1
proper1 > U333 > mark1
proper1 > U343 > mark1
proper1 > U352 > mark1
proper1 > U412 > U421 > mark1
proper1 > U712 > mark1
proper1 > U722 > mark1
proper1 > U813 > mark1
proper1 > U823 > U833 > mark1
proper1 > U843 > s1 > mark1
proper1 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
0 > isNat1 > tt > plus2 > ok1
0 > isNat1 > tt > plus2 > mark
0 > isNat1 > tt > x1 > U313 > ok1
0 > isNat1 > tt > x1 > U313 > mark
0 > isNat1 > tt > U161 > ok1
0 > isNat1 > tt > U161 > mark
0 > isNat1 > tt > U333 > ok1
0 > isNat1 > tt > U333 > mark
0 > isNat1 > tt > U421 > ok1
0 > isNat1 > tt > U421 > mark
0 > isNat1 > tt > s1 > ok1
0 > isNat1 > tt > s1 > mark
0 > isNat1 > U112 > ok1
0 > isNat1 > U112 > mark
0 > U711 > ok1
0 > U711 > mark
0 > U912 > ok1
0 > U912 > mark
proper1 > U1013 > ok1
proper1 > U1013 > mark
proper1 > U1023 > ok1
proper1 > U1023 > mark
proper1 > U1033 > U1043 > plus2 > ok1
proper1 > U1033 > U1043 > plus2 > mark
proper1 > U1033 > U1043 > x1 > U313 > ok1
proper1 > U1033 > U1043 > x1 > U313 > mark
proper1 > U133 > ok1
proper1 > U133 > mark
proper1 > U152 > isNat1 > tt > plus2 > ok1
proper1 > U152 > isNat1 > tt > plus2 > mark
proper1 > U152 > isNat1 > tt > x1 > U313 > ok1
proper1 > U152 > isNat1 > tt > x1 > U313 > mark
proper1 > U152 > isNat1 > tt > U161 > ok1
proper1 > U152 > isNat1 > tt > U161 > mark
proper1 > U152 > isNat1 > tt > U333 > ok1
proper1 > U152 > isNat1 > tt > U333 > mark
proper1 > U152 > isNat1 > tt > U421 > ok1
proper1 > U152 > isNat1 > tt > U421 > mark
proper1 > U152 > isNat1 > tt > s1 > ok1
proper1 > U152 > isNat1 > tt > s1 > mark
proper1 > U152 > isNat1 > U112 > ok1
proper1 > U152 > isNat1 > U112 > mark
proper1 > U211 > ok1
proper1 > U211 > mark
proper1 > U221 > ok1
proper1 > U221 > mark
proper1 > U323 > U333 > ok1
proper1 > U323 > U333 > mark
proper1 > U351 > ok1
proper1 > U351 > mark
proper1 > U411 > U421 > ok1
proper1 > U411 > U421 > mark
proper1 > U511 > tt > plus2 > ok1
proper1 > U511 > tt > plus2 > mark
proper1 > U511 > tt > x1 > U313 > ok1
proper1 > U511 > tt > x1 > U313 > mark
proper1 > U511 > tt > U161 > ok1
proper1 > U511 > tt > U161 > mark
proper1 > U511 > tt > U333 > ok1
proper1 > U511 > tt > U333 > mark
proper1 > U511 > tt > U421 > ok1
proper1 > U511 > tt > U421 > mark
proper1 > U511 > tt > s1 > ok1
proper1 > U511 > tt > s1 > mark
proper1 > U612 > ok1
proper1 > U612 > mark
proper1 > U711 > ok1
proper1 > U711 > mark
proper1 > U813 > ok1
proper1 > U813 > mark
proper1 > U831 > U842 > plus2 > ok1
proper1 > U831 > U842 > plus2 > mark
proper1 > U831 > U842 > s1 > ok1
proper1 > U831 > U842 > s1 > mark
proper1 > U912 > ok1
proper1 > U912 > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
X(X1, mark(X2)) → X(X1, X2)
X(mark(X1), X2) → X(X1, X2)
X(ok(X1), ok(X2)) → X(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
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(mark(X1), X2) → X(X1, X2)
X2 > isNat
active1 > U1033 > mark1 > isNat
active1 > U1043 > plus2 > U712 > U722 > mark1 > isNat
active1 > U1043 > x2 > U1013 > U1023 > mark1 > isNat
active1 > U161 > mark1 > isNat
active1 > U161 > tt > isNat
active1 > U211 > mark1 > isNat
active1 > U311 > mark1 > isNat
active1 > U321 > U331 > mark1 > isNat
active1 > U611 > isNatKind > mark1 > isNat
active1 > U611 > isNatKind > tt > isNat
active1 > U813 > isNatKind > mark1 > isNat
active1 > U813 > isNatKind > tt > isNat
active1 > U813 > U823 > mark1 > isNat
active1 > U833 > mark1 > isNat
active1 > U843 > mark1 > isNat
active1 > U921 > mark1 > isNat
active1 > U921 > 0 > tt > isNat
top > isNat
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
X(ok(X1), ok(X2)) → X(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
X(ok(X1), ok(X2)) → X(X1, X2)
active1 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
active1 > U113 > mark1 > ok1
active1 > U212 > U222 > mark1 > ok1
active1 > U313 > mark1 > ok1
active1 > U323 > U333 > mark1 > ok1
active1 > U412 > mark1 > ok1
active1 > U511 > tt > U1023 > U1033 > U1043 > mark1 > ok1
active1 > U511 > tt > x2 > mark1 > ok1
active1 > U511 > tt > U123 > U133 > U143 > isNat1 > mark1 > ok1
active1 > U511 > tt > U123 > U133 > U143 > U152 > mark1 > ok1
active1 > U511 > tt > U222 > mark1 > ok1
active1 > U511 > tt > U333 > mark1 > ok1
active1 > U511 > tt > U343 > mark1 > ok1
active1 > U511 > tt > U352 > U361 > mark1 > ok1
active1 > U511 > tt > U823 > U833 > mark1 > ok1
active1 > U511 > tt > U843 > plus2 > U712 > mark1 > ok1
active1 > U511 > tt > U843 > s1 > mark1 > ok1
active1 > U511 > tt > U921 > mark1 > ok1
active1 > U511 > tt > U921 > 0 > ok1
active1 > U612 > mark1 > ok1
active1 > U621 > tt > U1023 > U1033 > U1043 > mark1 > ok1
active1 > U621 > tt > x2 > mark1 > ok1
active1 > U621 > tt > U123 > U133 > U143 > isNat1 > mark1 > ok1
active1 > U621 > tt > U123 > U133 > U143 > U152 > mark1 > ok1
active1 > U621 > tt > U222 > mark1 > ok1
active1 > U621 > tt > U333 > mark1 > ok1
active1 > U621 > tt > U343 > mark1 > ok1
active1 > U621 > tt > U352 > U361 > mark1 > ok1
active1 > U621 > tt > U823 > U833 > mark1 > ok1
active1 > U621 > tt > U843 > plus2 > U712 > mark1 > ok1
active1 > U621 > tt > U843 > s1 > mark1 > ok1
active1 > U621 > tt > U921 > mark1 > ok1
active1 > U621 > tt > U921 > 0 > ok1
active1 > U722 > mark1 > ok1
active1 > U813 > mark1 > ok1
active1 > U912 > U921 > mark1 > ok1
active1 > U912 > U921 > 0 > ok1
proper1 > U1013 > U1023 > U1033 > U1043 > mark1 > ok1
proper1 > U113 > mark1 > ok1
proper1 > U212 > U222 > mark1 > ok1
proper1 > U313 > mark1 > ok1
proper1 > U323 > U333 > mark1 > ok1
proper1 > U412 > mark1 > ok1
proper1 > U511 > tt > U1023 > U1033 > U1043 > mark1 > ok1
proper1 > U511 > tt > x2 > mark1 > ok1
proper1 > U511 > tt > U123 > U133 > U143 > isNat1 > mark1 > ok1
proper1 > U511 > tt > U123 > U133 > U143 > U152 > mark1 > ok1
proper1 > U511 > tt > U222 > mark1 > ok1
proper1 > U511 > tt > U333 > mark1 > ok1
proper1 > U511 > tt > U343 > mark1 > ok1
proper1 > U511 > tt > U352 > U361 > mark1 > ok1
proper1 > U511 > tt > U823 > U833 > mark1 > ok1
proper1 > U511 > tt > U843 > plus2 > U712 > mark1 > ok1
proper1 > U511 > tt > U843 > s1 > mark1 > ok1
proper1 > U511 > tt > U921 > mark1 > ok1
proper1 > U511 > tt > U921 > 0 > ok1
proper1 > U612 > mark1 > ok1
proper1 > U621 > tt > U1023 > U1033 > U1043 > mark1 > ok1
proper1 > U621 > tt > x2 > mark1 > ok1
proper1 > U621 > tt > U123 > U133 > U143 > isNat1 > mark1 > ok1
proper1 > U621 > tt > U123 > U133 > U143 > U152 > mark1 > ok1
proper1 > U621 > tt > U222 > mark1 > ok1
proper1 > U621 > tt > U333 > mark1 > ok1
proper1 > U621 > tt > U343 > mark1 > ok1
proper1 > U621 > tt > U352 > U361 > mark1 > ok1
proper1 > U621 > tt > U823 > U833 > mark1 > ok1
proper1 > U621 > tt > U843 > plus2 > U712 > mark1 > ok1
proper1 > U621 > tt > U843 > s1 > mark1 > ok1
proper1 > U621 > tt > U921 > mark1 > ok1
proper1 > U621 > tt > U921 > 0 > ok1
proper1 > U722 > mark1 > ok1
proper1 > U813 > mark1 > ok1
proper1 > U912 > U921 > mark1 > ok1
proper1 > U912 > U921 > 0 > ok1
top > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
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(mark(X1), X2) → PLUS(X1, X2)
PLUS2 > isNat
active1 > U1013 > U1023 > mark1 > isNat
active1 > isNatKind > tt > isNat
active1 > isNatKind > U611 > mark1 > isNat
active1 > U1033 > mark1 > isNat
active1 > U1043 > plus2 > mark1 > isNat
active1 > U1043 > x2 > U912 > mark1 > isNat
active1 > U161 > mark1 > isNat
active1 > U161 > tt > isNat
active1 > U211 > mark1 > isNat
active1 > U311 > U321 > U331 > mark1 > isNat
active1 > U712 > U722 > mark1 > isNat
active1 > U813 > U823 > mark1 > isNat
active1 > U833 > U843 > plus2 > mark1 > isNat
active1 > 0 > tt > isNat
top > isNat
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)
active1 > tt > U1033 > ok1
active1 > tt > U1033 > mark1
active1 > tt > U1043 > x2 > U1013 > U1023 > ok1
active1 > tt > U1043 > x2 > U1013 > U1023 > mark1
active1 > tt > plus2 > U113 > ok1
active1 > tt > plus2 > U113 > mark1
active1 > tt > plus2 > U712 > U722 > ok1
active1 > tt > plus2 > U712 > U722 > mark1
active1 > tt > plus2 > U813 > ok1
active1 > tt > plus2 > U813 > mark1
active1 > tt > U123 > U133 > U143 > U152 > ok1
active1 > tt > U123 > U133 > U143 > U152 > mark1
active1 > tt > U161 > ok1
active1 > tt > U161 > mark1
active1 > tt > U222 > ok1
active1 > tt > U222 > mark1
active1 > tt > U323 > U333 > ok1
active1 > tt > U323 > U333 > mark1
active1 > tt > U343 > U352 > ok1
active1 > tt > U343 > U352 > mark1
active1 > tt > U621 > ok1
active1 > tt > U621 > mark1
active1 > tt > U823 > U833 > ok1
active1 > tt > U823 > U833 > mark1
active1 > tt > U843 > ok1
active1 > tt > U843 > mark1
active1 > tt > U921 > ok1
active1 > tt > U921 > mark1
active1 > U212 > U222 > ok1
active1 > U212 > U222 > mark1
active1 > U313 > U323 > U333 > ok1
active1 > U313 > U323 > U333 > mark1
active1 > U412 > ok1
active1 > U412 > mark1
active1 > U511 > ok1
active1 > U511 > mark1
active1 > U612 > U621 > ok1
active1 > U612 > U621 > mark1
active1 > 0 > U712 > U722 > ok1
active1 > 0 > U712 > U722 > mark1
active1 > 0 > U912 > ok1
active1 > 0 > U912 > mark1
proper1 > U1033 > ok1
proper1 > U1033 > mark1
proper1 > U1043 > x2 > U1013 > U1023 > ok1
proper1 > U1043 > x2 > U1013 > U1023 > mark1
proper1 > plus2 > U113 > ok1
proper1 > plus2 > U113 > mark1
proper1 > plus2 > U712 > U722 > ok1
proper1 > plus2 > U712 > U722 > mark1
proper1 > plus2 > U813 > ok1
proper1 > plus2 > U813 > mark1
proper1 > U123 > U133 > U143 > U152 > ok1
proper1 > U123 > U133 > U143 > U152 > mark1
proper1 > U161 > ok1
proper1 > U161 > mark1
proper1 > U212 > U222 > ok1
proper1 > U212 > U222 > mark1
proper1 > U313 > U323 > U333 > ok1
proper1 > U313 > U323 > U333 > mark1
proper1 > U343 > U352 > ok1
proper1 > U343 > U352 > mark1
proper1 > U412 > ok1
proper1 > U412 > mark1
proper1 > U511 > ok1
proper1 > U511 > mark1
proper1 > U612 > U621 > ok1
proper1 > U612 > U621 > mark1
proper1 > U823 > U833 > ok1
proper1 > U823 > U833 > mark1
proper1 > U843 > ok1
proper1 > U843 > mark1
proper1 > U912 > ok1
proper1 > U912 > mark1
proper1 > U921 > ok1
proper1 > U921 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1041(mark(X1), X2, X3) → U1041(X1, X2, X3)
active1 > U1013 > mark1 > U104^13
active1 > U1023 > U1033 > U1043 > mark1 > U104^13
active1 > x2 > U912 > mark1 > U104^13
active1 > U113 > U123 > mark1 > U104^13
active1 > U133 > U143 > U152 > mark1 > U104^13
active1 > U212 > mark1 > U104^13
active1 > U222 > mark1 > U104^13
active1 > U313 > mark1 > U104^13
active1 > U323 > mark1 > U104^13
active1 > U333 > mark1 > U104^13
active1 > U343 > mark1 > U104^13
active1 > U352 > mark1 > U104^13
active1 > U412 > mark1 > U104^13
active1 > U511 > mark1 > U104^13
active1 > U511 > tt > 0
active1 > U612 > mark1 > U104^13
active1 > U712 > mark1 > U104^13
active1 > U722 > mark1 > U104^13
active1 > U813 > mark1 > U104^13
active1 > U823 > mark1 > U104^13
active1 > U833 > U843 > plus2 > mark1 > U104^13
proper1 > U1013 > mark1 > U104^13
proper1 > U1023 > U1033 > U1043 > mark1 > U104^13
proper1 > x2 > U912 > mark1 > U104^13
proper1 > U113 > U123 > mark1 > U104^13
proper1 > U133 > U143 > U152 > mark1 > U104^13
proper1 > U212 > mark1 > U104^13
proper1 > U222 > mark1 > U104^13
proper1 > U313 > mark1 > U104^13
proper1 > U323 > mark1 > U104^13
proper1 > U333 > mark1 > U104^13
proper1 > U343 > mark1 > U104^13
proper1 > U352 > mark1 > U104^13
proper1 > U412 > mark1 > U104^13
proper1 > U511 > mark1 > U104^13
proper1 > U511 > tt > 0
proper1 > U612 > mark1 > U104^13
proper1 > U712 > mark1 > U104^13
proper1 > U722 > mark1 > U104^13
proper1 > U813 > mark1 > U104^13
proper1 > U823 > mark1 > U104^13
proper1 > U833 > U843 > plus2 > mark1 > U104^13
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1041(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
top > active1 > tt > U1023 > U1033 > ok1
top > active1 > tt > isNatKind1 > U511 > ok1
top > active1 > tt > isNatKind1 > U612 > ok1
top > active1 > tt > isNat1 > U113 > ok1
top > active1 > tt > isNat1 > U313 > U323 > ok1
top > active1 > tt > U1042 > plus2 > U813 > U823 > ok1
top > active1 > tt > x2 > U1012 > ok1
top > active1 > tt > U123 > U133 > ok1
top > active1 > tt > U142 > U151 > ok1
top > active1 > tt > U161 > ok1
top > active1 > tt > U221 > ok1
top > active1 > tt > U231 > ok1
top > active1 > tt > U332 > ok1
top > active1 > tt > U421 > ok1
top > active1 > tt > U722 > ok1
top > active1 > tt > U832 > U843 > plus2 > U813 > U823 > ok1
top > active1 > tt > s1 > U1012 > ok1
top > active1 > tt > s1 > U511 > ok1
top > active1 > tt > s1 > U813 > U823 > ok1
top > active1 > tt > U921 > ok1
top > active1 > U412 > U421 > ok1
top > active1 > 0 > isNat1 > U113 > ok1
top > active1 > 0 > isNat1 > U313 > U323 > ok1
top > active1 > 0 > U912 > U921 > ok1
top > proper1 > U1023 > U1033 > ok1
top > proper1 > isNatKind1 > U511 > ok1
top > proper1 > isNatKind1 > U612 > ok1
top > proper1 > isNat1 > U113 > ok1
top > proper1 > isNat1 > U313 > U323 > ok1
top > proper1 > U1042 > plus2 > U813 > U823 > ok1
top > proper1 > x2 > U1012 > ok1
top > proper1 > U123 > U133 > ok1
top > proper1 > U142 > U151 > ok1
top > proper1 > U161 > ok1
top > proper1 > U221 > ok1
top > proper1 > U231 > ok1
top > proper1 > U332 > ok1
top > proper1 > U412 > U421 > ok1
top > proper1 > U722 > ok1
top > proper1 > U832 > U843 > plus2 > U813 > U823 > ok1
top > proper1 > s1 > U1012 > ok1
top > proper1 > s1 > U511 > ok1
top > proper1 > s1 > U813 > U823 > ok1
top > proper1 > U912 > U921 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1031(ok(X1), ok(X2), ok(X3)) → U1031(X1, X2, X3)
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1031(ok(X1), ok(X2), ok(X3)) → U1031(X1, X2, X3)
U103^13 > ok1
active1 > U1013 > ok1
active1 > tt > U1023 > U1033 > ok1
active1 > tt > U1023 > isNat1 > U211 > ok1
active1 > tt > U1042 > ok1
active1 > tt > plus2 > U711 > ok1
active1 > tt > plus2 > U813 > ok1
active1 > tt > x2 > ok1
active1 > tt > U231 > ok1
active1 > tt > U321 > U332 > ok1
active1 > tt > U351 > ok1
active1 > tt > U421 > ok1
active1 > tt > U621 > ok1
active1 > tt > U823 > U833 > U843 > ok1
active1 > tt > U921 > ok1
active1 > U511 > ok1
active1 > 0 > isNat1 > U211 > ok1
active1 > 0 > U711 > ok1
active1 > 0 > U912 > ok1
top > proper1 > U1013 > ok1
top > proper1 > U1023 > U1033 > ok1
top > proper1 > U1023 > isNat1 > U211 > ok1
top > proper1 > U1042 > ok1
top > proper1 > plus2 > U711 > ok1
top > proper1 > plus2 > U813 > ok1
top > proper1 > x2 > ok1
top > proper1 > U231 > ok1
top > proper1 > U321 > U332 > ok1
top > proper1 > U351 > ok1
top > proper1 > U421 > ok1
top > proper1 > U511 > ok1
top > proper1 > U621 > ok1
top > proper1 > U823 > U833 > U843 > ok1
top > proper1 > U912 > ok1
top > proper1 > U921 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1031(mark(X1), X2, X3) → U1031(X1, X2, X3)
top > active1 > isNat > proper1 > U1013 > mark1
top > active1 > isNat > proper1 > U1013 > ok
top > active1 > isNat > proper1 > U1023 > mark1
top > active1 > isNat > proper1 > U1023 > ok
top > active1 > isNat > proper1 > isNatKind > mark1
top > active1 > isNat > proper1 > isNatKind > tt
top > active1 > isNat > proper1 > isNatKind > ok
top > active1 > isNat > proper1 > U1033 > mark1
top > active1 > isNat > proper1 > U1033 > ok
top > active1 > isNat > proper1 > U1043 > mark1
top > active1 > isNat > proper1 > U1043 > ok
top > active1 > isNat > proper1 > plus2 > mark1
top > active1 > isNat > proper1 > plus2 > ok
top > active1 > isNat > proper1 > x2 > mark1
top > active1 > isNat > proper1 > x2 > ok
top > active1 > isNat > proper1 > U111 > mark1
top > active1 > isNat > proper1 > U111 > ok
top > active1 > isNat > proper1 > U121 > mark1
top > active1 > isNat > proper1 > U121 > ok
top > active1 > isNat > proper1 > U151 > mark1
top > active1 > isNat > proper1 > U151 > ok
top > active1 > isNat > proper1 > U211 > mark1
top > active1 > isNat > proper1 > U211 > ok
top > active1 > isNat > proper1 > U221 > mark1
top > active1 > isNat > proper1 > U221 > ok
top > active1 > isNat > proper1 > U231 > mark1
top > active1 > isNat > proper1 > U231 > tt
top > active1 > isNat > proper1 > U231 > ok
top > active1 > isNat > proper1 > U331 > mark1
top > active1 > isNat > proper1 > U331 > ok
top > active1 > isNat > proper1 > U341 > mark1
top > active1 > isNat > proper1 > U341 > ok
top > active1 > isNat > proper1 > U411 > mark1
top > active1 > isNat > proper1 > U411 > ok
top > active1 > isNat > proper1 > U611 > mark1
top > active1 > isNat > proper1 > U611 > ok
top > active1 > isNat > proper1 > U712 > mark1
top > active1 > isNat > proper1 > U712 > ok
top > active1 > isNat > proper1 > U722 > mark1
top > active1 > isNat > proper1 > U722 > ok
top > active1 > isNat > proper1 > U813 > mark1
top > active1 > isNat > proper1 > U813 > ok
top > active1 > isNat > proper1 > U823 > mark1
top > active1 > isNat > proper1 > U823 > ok
top > active1 > isNat > proper1 > U833 > mark1
top > active1 > isNat > proper1 > U833 > ok
top > active1 > isNat > proper1 > U843 > mark1
top > active1 > isNat > proper1 > U843 > ok
top > active1 > isNat > proper1 > U912 > mark1
top > active1 > isNat > proper1 > U912 > ok
top > active1 > 0 > tt
top > active1 > 0 > U712 > mark1
top > active1 > 0 > U712 > ok
top > active1 > 0 > U912 > mark1
top > active1 > 0 > U912 > ok
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1021(mark(X1), X2, X3) → U1021(X1, X2, X3)
U102^13 > mark1
active1 > U1013 > U1023 > mark1
active1 > isNatKind > U411 > U421 > mark1
active1 > isNatKind > U511 > tt > mark1
active1 > isNatKind > U611 > mark1
active1 > U1033 > mark1
active1 > U1043 > plus2 > U113 > mark1
active1 > U1043 > plus2 > U411 > U421 > mark1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > x2 > mark1
active1 > U123 > U133 > mark1
active1 > U143 > U152 > mark1
active1 > U161 > tt > mark1
active1 > U212 > U222 > mark1
active1 > U231 > tt > mark1
active1 > U313 > U323 > mark1
active1 > U333 > U343 > mark1
active1 > U352 > mark1
active1 > U361 > tt > mark1
active1 > U621 > tt > mark1
active1 > U823 > mark1
active1 > U833 > U843 > s1 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U712 > U722 > mark1
active1 > 0 > U912 > U921 > mark1
proper1 > U1013 > U1023 > mark1
proper1 > U1033 > mark1
proper1 > U1043 > plus2 > U113 > mark1
proper1 > U1043 > plus2 > U411 > U421 > mark1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > x2 > mark1
proper1 > U123 > U133 > mark1
proper1 > U143 > U152 > mark1
proper1 > U161 > tt > mark1
proper1 > U212 > U222 > mark1
proper1 > U231 > tt > mark1
proper1 > U313 > U323 > mark1
proper1 > U333 > U343 > mark1
proper1 > U352 > mark1
proper1 > U361 > tt > mark1
proper1 > U511 > tt > mark1
proper1 > U611 > mark1
proper1 > U621 > tt > mark1
proper1 > U712 > U722 > mark1
proper1 > U823 > mark1
proper1 > U833 > U843 > s1 > mark1
proper1 > U912 > U921 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1021(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
proper1 > U1011 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U1011 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U1032 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U1032 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U112 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U112 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U151 > ok1 > U102^12 > mark
proper1 > U151 > ok1 > active1 > tt > mark
proper1 > U312 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U312 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U351 > ok1 > U102^12 > mark
proper1 > U351 > ok1 > active1 > tt > mark
proper1 > U411 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U411 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > U711 > isNatKind1 > ok1 > U102^12 > mark
proper1 > U711 > isNatKind1 > ok1 > active1 > tt > mark
proper1 > 0 > U911 > isNatKind1 > ok1 > U102^12 > mark
proper1 > 0 > U911 > isNatKind1 > ok1 > active1 > tt > mark
top > active1 > tt > mark
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1011(ok(X1), ok(X2), ok(X3)) → U1011(X1, X2, X3)
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1011(ok(X1), ok(X2), ok(X3)) → U1011(X1, X2, X3)
active1 > U1013 > U1023 > ok1
active1 > U1013 > isNatKind1 > U411 > ok1
active1 > U1013 > isNatKind1 > U511 > ok1
active1 > tt > U1023 > ok1
active1 > tt > isNatKind1 > U411 > ok1
active1 > tt > isNatKind1 > U511 > ok1
active1 > tt > U1043 > x2 > ok1
active1 > tt > U231 > ok1
active1 > tt > U332 > ok1
active1 > tt > U351 > ok1
active1 > tt > U361 > ok1
active1 > tt > U421 > ok1
active1 > tt > U621 > ok1
active1 > tt > U823 > U832 > ok1
active1 > tt > s1 > U511 > ok1
active1 > U1033 > isNatKind1 > U411 > ok1
active1 > U1033 > isNatKind1 > U511 > ok1
active1 > U1033 > U1043 > x2 > ok1
active1 > plus2 > isNatKind1 > U411 > ok1
active1 > plus2 > isNatKind1 > U511 > ok1
active1 > plus2 > U813 > U823 > U832 > ok1
active1 > U121 > isNatKind1 > U411 > ok1
active1 > U121 > isNatKind1 > U511 > ok1
active1 > U711 > isNatKind1 > U411 > ok1
active1 > U711 > isNatKind1 > U511 > ok1
active1 > U842 > s1 > U511 > ok1
active1 > 0 > U912 > ok1
proper1 > U1013 > U1023 > ok1
proper1 > U1013 > isNatKind1 > U411 > ok1
proper1 > U1013 > isNatKind1 > U511 > ok1
proper1 > tt > U1023 > ok1
proper1 > tt > isNatKind1 > U411 > ok1
proper1 > tt > isNatKind1 > U511 > ok1
proper1 > tt > U1043 > x2 > ok1
proper1 > tt > U231 > ok1
proper1 > tt > U332 > ok1
proper1 > tt > U351 > ok1
proper1 > tt > U361 > ok1
proper1 > tt > U421 > ok1
proper1 > tt > U621 > ok1
proper1 > tt > U823 > U832 > ok1
proper1 > tt > s1 > U511 > ok1
proper1 > U1033 > isNatKind1 > U411 > ok1
proper1 > U1033 > isNatKind1 > U511 > ok1
proper1 > U1033 > U1043 > x2 > ok1
proper1 > plus2 > isNatKind1 > U411 > ok1
proper1 > plus2 > isNatKind1 > U511 > ok1
proper1 > plus2 > U813 > U823 > U832 > ok1
proper1 > U121 > isNatKind1 > U411 > ok1
proper1 > U121 > isNatKind1 > U511 > ok1
proper1 > U711 > isNatKind1 > U411 > ok1
proper1 > U711 > isNatKind1 > U511 > ok1
proper1 > U842 > s1 > U511 > ok1
proper1 > 0 > U912 > ok1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1011(mark(X1), X2, X3) → U1011(X1, X2, X3)
active1 > U1023 > U1033 > mark1
active1 > U1023 > isNat
active1 > isNatKind > U411 > mark1
active1 > isNatKind > U511 > mark1
active1 > isNatKind > U511 > tt
active1 > U1043 > x2 > U1013 > mark1
active1 > U1043 > x2 > isNat
active1 > plus2 > U411 > mark1
active1 > plus2 > U712 > mark1
active1 > plus2 > U813 > U823 > mark1
active1 > plus2 > U813 > U823 > isNat
active1 > U131 > mark1
active1 > U141 > mark1
active1 > U141 > isNat
active1 > U221 > mark1
active1 > U221 > isNat
active1 > U231 > mark1
active1 > U231 > tt
active1 > U331 > mark1
active1 > U722 > mark1
active1 > U833 > mark1
active1 > U843 > mark1
active1 > s1 > U1013 > mark1
active1 > s1 > U511 > mark1
active1 > s1 > U511 > tt
active1 > s1 > U813 > U823 > mark1
active1 > s1 > U813 > U823 > isNat
active1 > U921 > mark1
active1 > 0 > tt
active1 > 0 > isNat
active1 > 0 > U712 > mark1
proper1 > U1023 > U1033 > mark1
proper1 > U1023 > isNat
proper1 > isNatKind > U411 > mark1
proper1 > isNatKind > U511 > mark1
proper1 > isNatKind > U511 > tt
proper1 > U1043 > x2 > U1013 > mark1
proper1 > U1043 > x2 > isNat
proper1 > plus2 > U411 > mark1
proper1 > plus2 > U712 > mark1
proper1 > plus2 > U813 > U823 > mark1
proper1 > plus2 > U813 > U823 > isNat
proper1 > U131 > mark1
proper1 > U141 > mark1
proper1 > U141 > isNat
proper1 > U221 > mark1
proper1 > U221 > isNat
proper1 > U231 > mark1
proper1 > U231 > tt
proper1 > U331 > mark1
proper1 > U722 > mark1
proper1 > U833 > mark1
proper1 > U843 > mark1
proper1 > s1 > U1013 > mark1
proper1 > s1 > U511 > mark1
proper1 > s1 > U511 > tt
proper1 > s1 > U813 > U823 > mark1
proper1 > s1 > U813 > U823 > isNat
proper1 > U921 > mark1
proper1 > 0 > tt
proper1 > 0 > isNat
proper1 > 0 > U712 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(U101(X1, X2, X3)) → PROPER(X2)
PROPER(U101(X1, X2, X3)) → PROPER(X1)
PROPER(U101(X1, X2, X3)) → PROPER(X3)
PROPER(U102(X1, X2, X3)) → PROPER(X1)
PROPER(U102(X1, X2, X3)) → PROPER(X2)
PROPER(U102(X1, X2, X3)) → PROPER(X3)
PROPER(isNatKind(X)) → PROPER(X)
PROPER(U103(X1, X2, X3)) → PROPER(X1)
PROPER(U103(X1, X2, X3)) → PROPER(X2)
PROPER(U103(X1, X2, X3)) → PROPER(X3)
PROPER(isNat(X)) → PROPER(X)
PROPER(U104(X1, X2, X3)) → PROPER(X1)
PROPER(U104(X1, X2, X3)) → PROPER(X2)
PROPER(U104(X1, X2, X3)) → PROPER(X3)
PROPER(plus(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X2)
PROPER(x(X1, X2)) → PROPER(X1)
PROPER(x(X1, X2)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X1)
PROPER(U11(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X3)
PROPER(U12(X1, X2, X3)) → PROPER(X1)
PROPER(U12(X1, X2, X3)) → PROPER(X2)
PROPER(U12(X1, X2, X3)) → PROPER(X3)
PROPER(U13(X1, X2, X3)) → PROPER(X1)
PROPER(U13(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X1, X2, X3)) → PROPER(X3)
PROPER(U14(X1, X2, X3)) → PROPER(X1)
PROPER(U14(X1, X2, X3)) → PROPER(X2)
PROPER(U14(X1, X2, X3)) → PROPER(X3)
PROPER(U15(X1, X2)) → PROPER(X1)
PROPER(U15(X1, X2)) → PROPER(X2)
PROPER(U16(X)) → PROPER(X)
PROPER(U21(X1, X2)) → PROPER(X1)
PROPER(U21(X1, X2)) → PROPER(X2)
PROPER(U22(X1, X2)) → PROPER(X1)
PROPER(U22(X1, X2)) → PROPER(X2)
PROPER(U23(X)) → PROPER(X)
PROPER(U31(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2, X3)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → PROPER(X3)
PROPER(U32(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2, X3)) → PROPER(X2)
PROPER(U32(X1, X2, X3)) → PROPER(X3)
PROPER(U33(X1, X2, X3)) → PROPER(X1)
PROPER(U33(X1, X2, X3)) → PROPER(X2)
PROPER(U33(X1, X2, X3)) → PROPER(X3)
PROPER(U34(X1, X2, X3)) → PROPER(X1)
PROPER(U34(X1, X2, X3)) → PROPER(X2)
PROPER(U34(X1, X2, X3)) → PROPER(X3)
PROPER(U35(X1, X2)) → PROPER(X1)
PROPER(U35(X1, X2)) → PROPER(X2)
PROPER(U36(X)) → PROPER(X)
PROPER(U41(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2)) → PROPER(X2)
PROPER(U42(X)) → PROPER(X)
PROPER(U51(X)) → PROPER(X)
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U62(X)) → PROPER(X)
PROPER(U71(X1, X2)) → PROPER(X1)
PROPER(U71(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → PROPER(X1)
PROPER(U81(X1, X2, X3)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → PROPER(X3)
PROPER(U82(X1, X2, X3)) → PROPER(X1)
PROPER(U82(X1, X2, X3)) → PROPER(X2)
PROPER(U82(X1, X2, X3)) → PROPER(X3)
PROPER(U83(X1, X2, X3)) → PROPER(X1)
PROPER(U83(X1, X2, X3)) → PROPER(X2)
PROPER(U83(X1, X2, X3)) → PROPER(X3)
PROPER(U84(X1, X2, X3)) → PROPER(X1)
PROPER(U84(X1, X2, X3)) → PROPER(X2)
PROPER(U84(X1, X2, X3)) → PROPER(X3)
PROPER(s(X)) → PROPER(X)
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U92(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(U101(X1, X2, X3)) → PROPER(X2)
PROPER(U101(X1, X2, X3)) → PROPER(X1)
PROPER(U101(X1, X2, X3)) → PROPER(X3)
PROPER(U102(X1, X2, X3)) → PROPER(X1)
PROPER(U102(X1, X2, X3)) → PROPER(X2)
PROPER(U102(X1, X2, X3)) → PROPER(X3)
PROPER(U103(X1, X2, X3)) → PROPER(X1)
PROPER(U103(X1, X2, X3)) → PROPER(X2)
PROPER(U103(X1, X2, X3)) → PROPER(X3)
PROPER(U104(X1, X2, X3)) → PROPER(X1)
PROPER(U104(X1, X2, X3)) → PROPER(X2)
PROPER(U104(X1, X2, X3)) → PROPER(X3)
PROPER(plus(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X2)
PROPER(x(X1, X2)) → PROPER(X1)
PROPER(x(X1, X2)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X1)
PROPER(U11(X1, X2, X3)) → PROPER(X2)
PROPER(U11(X1, X2, X3)) → PROPER(X3)
PROPER(U12(X1, X2, X3)) → PROPER(X1)
PROPER(U12(X1, X2, X3)) → PROPER(X2)
PROPER(U12(X1, X2, X3)) → PROPER(X3)
PROPER(U13(X1, X2, X3)) → PROPER(X1)
PROPER(U13(X1, X2, X3)) → PROPER(X2)
PROPER(U13(X1, X2, X3)) → PROPER(X3)
PROPER(U14(X1, X2, X3)) → PROPER(X1)
PROPER(U14(X1, X2, X3)) → PROPER(X2)
PROPER(U14(X1, X2, X3)) → PROPER(X3)
PROPER(U15(X1, X2)) → PROPER(X1)
PROPER(U15(X1, X2)) → PROPER(X2)
PROPER(U21(X1, X2)) → PROPER(X1)
PROPER(U21(X1, X2)) → PROPER(X2)
PROPER(U22(X1, X2)) → PROPER(X1)
PROPER(U22(X1, X2)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → PROPER(X1)
PROPER(U31(X1, X2, X3)) → PROPER(X2)
PROPER(U31(X1, X2, X3)) → PROPER(X3)
PROPER(U32(X1, X2, X3)) → PROPER(X1)
PROPER(U32(X1, X2, X3)) → PROPER(X2)
PROPER(U32(X1, X2, X3)) → PROPER(X3)
PROPER(U33(X1, X2, X3)) → PROPER(X1)
PROPER(U33(X1, X2, X3)) → PROPER(X2)
PROPER(U33(X1, X2, X3)) → PROPER(X3)
PROPER(U34(X1, X2, X3)) → PROPER(X1)
PROPER(U34(X1, X2, X3)) → PROPER(X2)
PROPER(U34(X1, X2, X3)) → PROPER(X3)
PROPER(U35(X1, X2)) → PROPER(X1)
PROPER(U35(X1, X2)) → PROPER(X2)
PROPER(U41(X1, X2)) → PROPER(X1)
PROPER(U41(X1, X2)) → PROPER(X2)
PROPER(U61(X1, X2)) → PROPER(X1)
PROPER(U61(X1, X2)) → PROPER(X2)
PROPER(U71(X1, X2)) → PROPER(X1)
PROPER(U71(X1, X2)) → PROPER(X2)
PROPER(U72(X1, X2)) → PROPER(X1)
PROPER(U72(X1, X2)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → PROPER(X1)
PROPER(U81(X1, X2, X3)) → PROPER(X2)
PROPER(U81(X1, X2, X3)) → PROPER(X3)
PROPER(U82(X1, X2, X3)) → PROPER(X1)
PROPER(U82(X1, X2, X3)) → PROPER(X2)
PROPER(U82(X1, X2, X3)) → PROPER(X3)
PROPER(U83(X1, X2, X3)) → PROPER(X1)
PROPER(U83(X1, X2, X3)) → PROPER(X2)
PROPER(U83(X1, X2, X3)) → PROPER(X3)
PROPER(U84(X1, X2, X3)) → PROPER(X1)
PROPER(U84(X1, X2, X3)) → PROPER(X2)
PROPER(U84(X1, X2, X3)) → PROPER(X3)
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
PROPER(U92(X)) → PROPER(X)
active1 > mark > proper1 > U1013 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U1013 > ok > U123 > U813
active1 > mark > proper1 > U1013 > ok > U222 > U813
active1 > mark > proper1 > U1013 > ok > U323 > U813
active1 > mark > proper1 > U1013 > ok > U333 > U813
active1 > mark > proper1 > U1013 > ok > U343 > U813
active1 > mark > proper1 > U1013 > ok > U352 > U813
active1 > mark > proper1 > U1013 > ok > U712 > U722 > U813
active1 > mark > proper1 > U1013 > ok > U823 > U813
active1 > mark > proper1 > U1013 > ok > U833 > U813
active1 > mark > proper1 > U1013 > ok > U843 > U813
active1 > mark > proper1 > U1013 > ok > U912 > U813
active1 > mark > proper1 > U1013 > ok > U921 > U813
active1 > mark > proper1 > U1023 > U1033 > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U1023 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U1023 > ok > U123 > U813
active1 > mark > proper1 > U1023 > ok > U222 > U813
active1 > mark > proper1 > U1023 > ok > U323 > U813
active1 > mark > proper1 > U1023 > ok > U333 > U813
active1 > mark > proper1 > U1023 > ok > U343 > U813
active1 > mark > proper1 > U1023 > ok > U352 > U813
active1 > mark > proper1 > U1023 > ok > U712 > U722 > U813
active1 > mark > proper1 > U1023 > ok > U823 > U813
active1 > mark > proper1 > U1023 > ok > U833 > U813
active1 > mark > proper1 > U1023 > ok > U843 > U813
active1 > mark > proper1 > U1023 > ok > U912 > U813
active1 > mark > proper1 > U1023 > ok > U921 > U813
active1 > mark > proper1 > x2 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > x2 > ok > U123 > U813
active1 > mark > proper1 > x2 > ok > U222 > U813
active1 > mark > proper1 > x2 > ok > U323 > U813
active1 > mark > proper1 > x2 > ok > U333 > U813
active1 > mark > proper1 > x2 > ok > U343 > U813
active1 > mark > proper1 > x2 > ok > U352 > U813
active1 > mark > proper1 > x2 > ok > U712 > U722 > U813
active1 > mark > proper1 > x2 > ok > U823 > U813
active1 > mark > proper1 > x2 > ok > U833 > U813
active1 > mark > proper1 > x2 > ok > U843 > U813
active1 > mark > proper1 > x2 > ok > U912 > U813
active1 > mark > proper1 > x2 > ok > U921 > U813
active1 > mark > proper1 > U113 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U113 > ok > U123 > U813
active1 > mark > proper1 > U113 > ok > U222 > U813
active1 > mark > proper1 > U113 > ok > U323 > U813
active1 > mark > proper1 > U113 > ok > U333 > U813
active1 > mark > proper1 > U113 > ok > U343 > U813
active1 > mark > proper1 > U113 > ok > U352 > U813
active1 > mark > proper1 > U113 > ok > U712 > U722 > U813
active1 > mark > proper1 > U113 > ok > U823 > U813
active1 > mark > proper1 > U113 > ok > U833 > U813
active1 > mark > proper1 > U113 > ok > U843 > U813
active1 > mark > proper1 > U113 > ok > U912 > U813
active1 > mark > proper1 > U113 > ok > U921 > U813
active1 > mark > proper1 > U133 > U143 > PROPER1 > U813
active1 > mark > proper1 > U133 > U143 > U152 > U813
active1 > mark > proper1 > U133 > U143 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U133 > U143 > ok > U123 > U813
active1 > mark > proper1 > U133 > U143 > ok > U222 > U813
active1 > mark > proper1 > U133 > U143 > ok > U323 > U813
active1 > mark > proper1 > U133 > U143 > ok > U333 > U813
active1 > mark > proper1 > U133 > U143 > ok > U343 > U813
active1 > mark > proper1 > U133 > U143 > ok > U352 > U813
active1 > mark > proper1 > U133 > U143 > ok > U712 > U722 > U813
active1 > mark > proper1 > U133 > U143 > ok > U823 > U813
active1 > mark > proper1 > U133 > U143 > ok > U833 > U813
active1 > mark > proper1 > U133 > U143 > ok > U843 > U813
active1 > mark > proper1 > U133 > U143 > ok > U912 > U813
active1 > mark > proper1 > U133 > U143 > ok > U921 > U813
active1 > mark > proper1 > U212 > PROPER1 > U813
active1 > mark > proper1 > U212 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U212 > ok > U123 > U813
active1 > mark > proper1 > U212 > ok > U222 > U813
active1 > mark > proper1 > U212 > ok > U323 > U813
active1 > mark > proper1 > U212 > ok > U333 > U813
active1 > mark > proper1 > U212 > ok > U343 > U813
active1 > mark > proper1 > U212 > ok > U352 > U813
active1 > mark > proper1 > U212 > ok > U712 > U722 > U813
active1 > mark > proper1 > U212 > ok > U823 > U813
active1 > mark > proper1 > U212 > ok > U833 > U813
active1 > mark > proper1 > U212 > ok > U843 > U813
active1 > mark > proper1 > U212 > ok > U912 > U813
active1 > mark > proper1 > U212 > ok > U921 > U813
active1 > mark > proper1 > U313 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U313 > ok > U123 > U813
active1 > mark > proper1 > U313 > ok > U222 > U813
active1 > mark > proper1 > U313 > ok > U323 > U813
active1 > mark > proper1 > U313 > ok > U333 > U813
active1 > mark > proper1 > U313 > ok > U343 > U813
active1 > mark > proper1 > U313 > ok > U352 > U813
active1 > mark > proper1 > U313 > ok > U712 > U722 > U813
active1 > mark > proper1 > U313 > ok > U823 > U813
active1 > mark > proper1 > U313 > ok > U833 > U813
active1 > mark > proper1 > U313 > ok > U843 > U813
active1 > mark > proper1 > U313 > ok > U912 > U813
active1 > mark > proper1 > U313 > ok > U921 > U813
active1 > mark > proper1 > U612 > ok > U1043 > plus2 > U412 > U813
active1 > mark > proper1 > U612 > ok > U123 > U813
active1 > mark > proper1 > U612 > ok > U222 > U813
active1 > mark > proper1 > U612 > ok > U323 > U813
active1 > mark > proper1 > U612 > ok > U333 > U813
active1 > mark > proper1 > U612 > ok > U343 > U813
active1 > mark > proper1 > U612 > ok > U352 > U813
active1 > mark > proper1 > U612 > ok > U712 > U722 > U813
active1 > mark > proper1 > U612 > ok > U823 > U813
active1 > mark > proper1 > U612 > ok > U833 > U813
active1 > mark > proper1 > U612 > ok > U843 > U813
active1 > mark > proper1 > U612 > ok > U912 > U813
active1 > mark > proper1 > U612 > ok > U921 > U813
active1 > mark > top > U813
tt > mark > proper1 > U1013 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U1013 > ok > U123 > U813
tt > mark > proper1 > U1013 > ok > U222 > U813
tt > mark > proper1 > U1013 > ok > U323 > U813
tt > mark > proper1 > U1013 > ok > U333 > U813
tt > mark > proper1 > U1013 > ok > U343 > U813
tt > mark > proper1 > U1013 > ok > U352 > U813
tt > mark > proper1 > U1013 > ok > U712 > U722 > U813
tt > mark > proper1 > U1013 > ok > U823 > U813
tt > mark > proper1 > U1013 > ok > U833 > U813
tt > mark > proper1 > U1013 > ok > U843 > U813
tt > mark > proper1 > U1013 > ok > U912 > U813
tt > mark > proper1 > U1013 > ok > U921 > U813
tt > mark > proper1 > U1023 > U1033 > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U1023 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U1023 > ok > U123 > U813
tt > mark > proper1 > U1023 > ok > U222 > U813
tt > mark > proper1 > U1023 > ok > U323 > U813
tt > mark > proper1 > U1023 > ok > U333 > U813
tt > mark > proper1 > U1023 > ok > U343 > U813
tt > mark > proper1 > U1023 > ok > U352 > U813
tt > mark > proper1 > U1023 > ok > U712 > U722 > U813
tt > mark > proper1 > U1023 > ok > U823 > U813
tt > mark > proper1 > U1023 > ok > U833 > U813
tt > mark > proper1 > U1023 > ok > U843 > U813
tt > mark > proper1 > U1023 > ok > U912 > U813
tt > mark > proper1 > U1023 > ok > U921 > U813
tt > mark > proper1 > x2 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > x2 > ok > U123 > U813
tt > mark > proper1 > x2 > ok > U222 > U813
tt > mark > proper1 > x2 > ok > U323 > U813
tt > mark > proper1 > x2 > ok > U333 > U813
tt > mark > proper1 > x2 > ok > U343 > U813
tt > mark > proper1 > x2 > ok > U352 > U813
tt > mark > proper1 > x2 > ok > U712 > U722 > U813
tt > mark > proper1 > x2 > ok > U823 > U813
tt > mark > proper1 > x2 > ok > U833 > U813
tt > mark > proper1 > x2 > ok > U843 > U813
tt > mark > proper1 > x2 > ok > U912 > U813
tt > mark > proper1 > x2 > ok > U921 > U813
tt > mark > proper1 > U113 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U113 > ok > U123 > U813
tt > mark > proper1 > U113 > ok > U222 > U813
tt > mark > proper1 > U113 > ok > U323 > U813
tt > mark > proper1 > U113 > ok > U333 > U813
tt > mark > proper1 > U113 > ok > U343 > U813
tt > mark > proper1 > U113 > ok > U352 > U813
tt > mark > proper1 > U113 > ok > U712 > U722 > U813
tt > mark > proper1 > U113 > ok > U823 > U813
tt > mark > proper1 > U113 > ok > U833 > U813
tt > mark > proper1 > U113 > ok > U843 > U813
tt > mark > proper1 > U113 > ok > U912 > U813
tt > mark > proper1 > U113 > ok > U921 > U813
tt > mark > proper1 > U133 > U143 > PROPER1 > U813
tt > mark > proper1 > U133 > U143 > U152 > U813
tt > mark > proper1 > U133 > U143 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U133 > U143 > ok > U123 > U813
tt > mark > proper1 > U133 > U143 > ok > U222 > U813
tt > mark > proper1 > U133 > U143 > ok > U323 > U813
tt > mark > proper1 > U133 > U143 > ok > U333 > U813
tt > mark > proper1 > U133 > U143 > ok > U343 > U813
tt > mark > proper1 > U133 > U143 > ok > U352 > U813
tt > mark > proper1 > U133 > U143 > ok > U712 > U722 > U813
tt > mark > proper1 > U133 > U143 > ok > U823 > U813
tt > mark > proper1 > U133 > U143 > ok > U833 > U813
tt > mark > proper1 > U133 > U143 > ok > U843 > U813
tt > mark > proper1 > U133 > U143 > ok > U912 > U813
tt > mark > proper1 > U133 > U143 > ok > U921 > U813
tt > mark > proper1 > U212 > PROPER1 > U813
tt > mark > proper1 > U212 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U212 > ok > U123 > U813
tt > mark > proper1 > U212 > ok > U222 > U813
tt > mark > proper1 > U212 > ok > U323 > U813
tt > mark > proper1 > U212 > ok > U333 > U813
tt > mark > proper1 > U212 > ok > U343 > U813
tt > mark > proper1 > U212 > ok > U352 > U813
tt > mark > proper1 > U212 > ok > U712 > U722 > U813
tt > mark > proper1 > U212 > ok > U823 > U813
tt > mark > proper1 > U212 > ok > U833 > U813
tt > mark > proper1 > U212 > ok > U843 > U813
tt > mark > proper1 > U212 > ok > U912 > U813
tt > mark > proper1 > U212 > ok > U921 > U813
tt > mark > proper1 > U313 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U313 > ok > U123 > U813
tt > mark > proper1 > U313 > ok > U222 > U813
tt > mark > proper1 > U313 > ok > U323 > U813
tt > mark > proper1 > U313 > ok > U333 > U813
tt > mark > proper1 > U313 > ok > U343 > U813
tt > mark > proper1 > U313 > ok > U352 > U813
tt > mark > proper1 > U313 > ok > U712 > U722 > U813
tt > mark > proper1 > U313 > ok > U823 > U813
tt > mark > proper1 > U313 > ok > U833 > U813
tt > mark > proper1 > U313 > ok > U843 > U813
tt > mark > proper1 > U313 > ok > U912 > U813
tt > mark > proper1 > U313 > ok > U921 > U813
tt > mark > proper1 > U612 > ok > U1043 > plus2 > U412 > U813
tt > mark > proper1 > U612 > ok > U123 > U813
tt > mark > proper1 > U612 > ok > U222 > U813
tt > mark > proper1 > U612 > ok > U323 > U813
tt > mark > proper1 > U612 > ok > U333 > U813
tt > mark > proper1 > U612 > ok > U343 > U813
tt > mark > proper1 > U612 > ok > U352 > U813
tt > mark > proper1 > U612 > ok > U712 > U722 > U813
tt > mark > proper1 > U612 > ok > U823 > U813
tt > mark > proper1 > U612 > ok > U833 > U813
tt > mark > proper1 > U612 > ok > U843 > U813
tt > mark > proper1 > U612 > ok > U912 > U813
tt > mark > proper1 > U612 > ok > U921 > U813
tt > mark > top > U813
0 > mark > proper1 > U1013 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U1013 > ok > U123 > U813
0 > mark > proper1 > U1013 > ok > U222 > U813
0 > mark > proper1 > U1013 > ok > U323 > U813
0 > mark > proper1 > U1013 > ok > U333 > U813
0 > mark > proper1 > U1013 > ok > U343 > U813
0 > mark > proper1 > U1013 > ok > U352 > U813
0 > mark > proper1 > U1013 > ok > U712 > U722 > U813
0 > mark > proper1 > U1013 > ok > U823 > U813
0 > mark > proper1 > U1013 > ok > U833 > U813
0 > mark > proper1 > U1013 > ok > U843 > U813
0 > mark > proper1 > U1013 > ok > U912 > U813
0 > mark > proper1 > U1013 > ok > U921 > U813
0 > mark > proper1 > U1023 > U1033 > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U1023 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U1023 > ok > U123 > U813
0 > mark > proper1 > U1023 > ok > U222 > U813
0 > mark > proper1 > U1023 > ok > U323 > U813
0 > mark > proper1 > U1023 > ok > U333 > U813
0 > mark > proper1 > U1023 > ok > U343 > U813
0 > mark > proper1 > U1023 > ok > U352 > U813
0 > mark > proper1 > U1023 > ok > U712 > U722 > U813
0 > mark > proper1 > U1023 > ok > U823 > U813
0 > mark > proper1 > U1023 > ok > U833 > U813
0 > mark > proper1 > U1023 > ok > U843 > U813
0 > mark > proper1 > U1023 > ok > U912 > U813
0 > mark > proper1 > U1023 > ok > U921 > U813
0 > mark > proper1 > x2 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > x2 > ok > U123 > U813
0 > mark > proper1 > x2 > ok > U222 > U813
0 > mark > proper1 > x2 > ok > U323 > U813
0 > mark > proper1 > x2 > ok > U333 > U813
0 > mark > proper1 > x2 > ok > U343 > U813
0 > mark > proper1 > x2 > ok > U352 > U813
0 > mark > proper1 > x2 > ok > U712 > U722 > U813
0 > mark > proper1 > x2 > ok > U823 > U813
0 > mark > proper1 > x2 > ok > U833 > U813
0 > mark > proper1 > x2 > ok > U843 > U813
0 > mark > proper1 > x2 > ok > U912 > U813
0 > mark > proper1 > x2 > ok > U921 > U813
0 > mark > proper1 > U113 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U113 > ok > U123 > U813
0 > mark > proper1 > U113 > ok > U222 > U813
0 > mark > proper1 > U113 > ok > U323 > U813
0 > mark > proper1 > U113 > ok > U333 > U813
0 > mark > proper1 > U113 > ok > U343 > U813
0 > mark > proper1 > U113 > ok > U352 > U813
0 > mark > proper1 > U113 > ok > U712 > U722 > U813
0 > mark > proper1 > U113 > ok > U823 > U813
0 > mark > proper1 > U113 > ok > U833 > U813
0 > mark > proper1 > U113 > ok > U843 > U813
0 > mark > proper1 > U113 > ok > U912 > U813
0 > mark > proper1 > U113 > ok > U921 > U813
0 > mark > proper1 > U133 > U143 > PROPER1 > U813
0 > mark > proper1 > U133 > U143 > U152 > U813
0 > mark > proper1 > U133 > U143 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U133 > U143 > ok > U123 > U813
0 > mark > proper1 > U133 > U143 > ok > U222 > U813
0 > mark > proper1 > U133 > U143 > ok > U323 > U813
0 > mark > proper1 > U133 > U143 > ok > U333 > U813
0 > mark > proper1 > U133 > U143 > ok > U343 > U813
0 > mark > proper1 > U133 > U143 > ok > U352 > U813
0 > mark > proper1 > U133 > U143 > ok > U712 > U722 > U813
0 > mark > proper1 > U133 > U143 > ok > U823 > U813
0 > mark > proper1 > U133 > U143 > ok > U833 > U813
0 > mark > proper1 > U133 > U143 > ok > U843 > U813
0 > mark > proper1 > U133 > U143 > ok > U912 > U813
0 > mark > proper1 > U133 > U143 > ok > U921 > U813
0 > mark > proper1 > U212 > PROPER1 > U813
0 > mark > proper1 > U212 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U212 > ok > U123 > U813
0 > mark > proper1 > U212 > ok > U222 > U813
0 > mark > proper1 > U212 > ok > U323 > U813
0 > mark > proper1 > U212 > ok > U333 > U813
0 > mark > proper1 > U212 > ok > U343 > U813
0 > mark > proper1 > U212 > ok > U352 > U813
0 > mark > proper1 > U212 > ok > U712 > U722 > U813
0 > mark > proper1 > U212 > ok > U823 > U813
0 > mark > proper1 > U212 > ok > U833 > U813
0 > mark > proper1 > U212 > ok > U843 > U813
0 > mark > proper1 > U212 > ok > U912 > U813
0 > mark > proper1 > U212 > ok > U921 > U813
0 > mark > proper1 > U313 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U313 > ok > U123 > U813
0 > mark > proper1 > U313 > ok > U222 > U813
0 > mark > proper1 > U313 > ok > U323 > U813
0 > mark > proper1 > U313 > ok > U333 > U813
0 > mark > proper1 > U313 > ok > U343 > U813
0 > mark > proper1 > U313 > ok > U352 > U813
0 > mark > proper1 > U313 > ok > U712 > U722 > U813
0 > mark > proper1 > U313 > ok > U823 > U813
0 > mark > proper1 > U313 > ok > U833 > U813
0 > mark > proper1 > U313 > ok > U843 > U813
0 > mark > proper1 > U313 > ok > U912 > U813
0 > mark > proper1 > U313 > ok > U921 > U813
0 > mark > proper1 > U612 > ok > U1043 > plus2 > U412 > U813
0 > mark > proper1 > U612 > ok > U123 > U813
0 > mark > proper1 > U612 > ok > U222 > U813
0 > mark > proper1 > U612 > ok > U323 > U813
0 > mark > proper1 > U612 > ok > U333 > U813
0 > mark > proper1 > U612 > ok > U343 > U813
0 > mark > proper1 > U612 > ok > U352 > U813
0 > mark > proper1 > U612 > ok > U712 > U722 > U813
0 > mark > proper1 > U612 > ok > U823 > U813
0 > mark > proper1 > U612 > ok > U833 > U813
0 > mark > proper1 > U612 > ok > U843 > U813
0 > mark > proper1 > U612 > ok > U912 > U813
0 > mark > proper1 > U612 > ok > U921 > U813
0 > mark > top > U813
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(isNatKind(X)) → PROPER(X)
PROPER(isNat(X)) → PROPER(X)
PROPER(U16(X)) → PROPER(X)
PROPER(U23(X)) → PROPER(X)
PROPER(U36(X)) → PROPER(X)
PROPER(U42(X)) → PROPER(X)
PROPER(U51(X)) → PROPER(X)
PROPER(U62(X)) → PROPER(X)
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(U42(X)) → PROPER(X)
tt > 0 > ok > U1032 > mark > plus2
tt > 0 > ok > U1032 > mark > U412
tt > 0 > ok > U1032 > mark > U921
tt > 0 > ok > U341 > active1 > U421 > mark > plus2
tt > 0 > ok > U341 > active1 > U421 > mark > U412
tt > 0 > ok > U341 > active1 > U421 > mark > U921
tt > 0 > ok > U341 > active1 > U1021 > mark > plus2
tt > 0 > ok > U341 > active1 > U1021 > mark > U412
tt > 0 > ok > U341 > active1 > U1021 > mark > U921
tt > 0 > ok > U341 > active1 > x1 > U1013 > mark > plus2
tt > 0 > ok > U341 > active1 > x1 > U1013 > mark > U412
tt > 0 > ok > U341 > active1 > x1 > U1013 > mark > U921
tt > 0 > ok > U341 > active1 > x1 > U313 > mark > plus2
tt > 0 > ok > U341 > active1 > x1 > U313 > mark > U412
tt > 0 > ok > U341 > active1 > x1 > U313 > mark > U921
tt > 0 > ok > U341 > active1 > x1 > U612 > mark > plus2
tt > 0 > ok > U341 > active1 > x1 > U612 > mark > U412
tt > 0 > ok > U341 > active1 > x1 > U612 > mark > U921
tt > 0 > ok > U341 > active1 > x1 > U912 > mark > plus2
tt > 0 > ok > U341 > active1 > x1 > U912 > mark > U412
tt > 0 > ok > U341 > active1 > x1 > U912 > mark > U921
tt > 0 > ok > U341 > active1 > U113
tt > 0 > ok > U341 > active1 > U122 > U132 > mark > plus2
tt > 0 > ok > U341 > active1 > U122 > U132 > mark > U412
tt > 0 > ok > U341 > active1 > U122 > U132 > mark > U921
tt > 0 > ok > U341 > active1 > U142 > mark > plus2
tt > 0 > ok > U341 > active1 > U142 > mark > U412
tt > 0 > ok > U341 > active1 > U142 > mark > U921
tt > 0 > ok > U341 > active1 > U351 > mark > plus2
tt > 0 > ok > U341 > active1 > U351 > mark > U412
tt > 0 > ok > U341 > active1 > U351 > mark > U921
U15 > ok > U1032 > mark > plus2
U15 > ok > U1032 > mark > U412
U15 > ok > U1032 > mark > U921
U15 > ok > U341 > active1 > U421 > mark > plus2
U15 > ok > U341 > active1 > U421 > mark > U412
U15 > ok > U341 > active1 > U421 > mark > U921
U15 > ok > U341 > active1 > U1021 > mark > plus2
U15 > ok > U341 > active1 > U1021 > mark > U412
U15 > ok > U341 > active1 > U1021 > mark > U921
U15 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U15 > ok > U341 > active1 > x1 > U1013 > mark > U412
U15 > ok > U341 > active1 > x1 > U1013 > mark > U921
U15 > ok > U341 > active1 > x1 > U313 > mark > plus2
U15 > ok > U341 > active1 > x1 > U313 > mark > U412
U15 > ok > U341 > active1 > x1 > U313 > mark > U921
U15 > ok > U341 > active1 > x1 > U612 > mark > plus2
U15 > ok > U341 > active1 > x1 > U612 > mark > U412
U15 > ok > U341 > active1 > x1 > U612 > mark > U921
U15 > ok > U341 > active1 > x1 > U912 > mark > plus2
U15 > ok > U341 > active1 > x1 > U912 > mark > U412
U15 > ok > U341 > active1 > x1 > U912 > mark > U921
U15 > ok > U341 > active1 > U113
U15 > ok > U341 > active1 > U122 > U132 > mark > plus2
U15 > ok > U341 > active1 > U122 > U132 > mark > U412
U15 > ok > U341 > active1 > U122 > U132 > mark > U921
U15 > ok > U341 > active1 > U142 > mark > plus2
U15 > ok > U341 > active1 > U142 > mark > U412
U15 > ok > U341 > active1 > U142 > mark > U921
U15 > ok > U341 > active1 > U351 > mark > plus2
U15 > ok > U341 > active1 > U351 > mark > U412
U15 > ok > U341 > active1 > U351 > mark > U921
U22 > ok > U1032 > mark > plus2
U22 > ok > U1032 > mark > U412
U22 > ok > U1032 > mark > U921
U22 > ok > U341 > active1 > U421 > mark > plus2
U22 > ok > U341 > active1 > U421 > mark > U412
U22 > ok > U341 > active1 > U421 > mark > U921
U22 > ok > U341 > active1 > U1021 > mark > plus2
U22 > ok > U341 > active1 > U1021 > mark > U412
U22 > ok > U341 > active1 > U1021 > mark > U921
U22 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U22 > ok > U341 > active1 > x1 > U1013 > mark > U412
U22 > ok > U341 > active1 > x1 > U1013 > mark > U921
U22 > ok > U341 > active1 > x1 > U313 > mark > plus2
U22 > ok > U341 > active1 > x1 > U313 > mark > U412
U22 > ok > U341 > active1 > x1 > U313 > mark > U921
U22 > ok > U341 > active1 > x1 > U612 > mark > plus2
U22 > ok > U341 > active1 > x1 > U612 > mark > U412
U22 > ok > U341 > active1 > x1 > U612 > mark > U921
U22 > ok > U341 > active1 > x1 > U912 > mark > plus2
U22 > ok > U341 > active1 > x1 > U912 > mark > U412
U22 > ok > U341 > active1 > x1 > U912 > mark > U921
U22 > ok > U341 > active1 > U113
U22 > ok > U341 > active1 > U122 > U132 > mark > plus2
U22 > ok > U341 > active1 > U122 > U132 > mark > U412
U22 > ok > U341 > active1 > U122 > U132 > mark > U921
U22 > ok > U341 > active1 > U142 > mark > plus2
U22 > ok > U341 > active1 > U142 > mark > U412
U22 > ok > U341 > active1 > U142 > mark > U921
U22 > ok > U341 > active1 > U351 > mark > plus2
U22 > ok > U341 > active1 > U351 > mark > U412
U22 > ok > U341 > active1 > U351 > mark > U921
U321 > ok > U1032 > mark > plus2
U321 > ok > U1032 > mark > U412
U321 > ok > U1032 > mark > U921
U321 > ok > U341 > active1 > U421 > mark > plus2
U321 > ok > U341 > active1 > U421 > mark > U412
U321 > ok > U341 > active1 > U421 > mark > U921
U321 > ok > U341 > active1 > U1021 > mark > plus2
U321 > ok > U341 > active1 > U1021 > mark > U412
U321 > ok > U341 > active1 > U1021 > mark > U921
U321 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U321 > ok > U341 > active1 > x1 > U1013 > mark > U412
U321 > ok > U341 > active1 > x1 > U1013 > mark > U921
U321 > ok > U341 > active1 > x1 > U313 > mark > plus2
U321 > ok > U341 > active1 > x1 > U313 > mark > U412
U321 > ok > U341 > active1 > x1 > U313 > mark > U921
U321 > ok > U341 > active1 > x1 > U612 > mark > plus2
U321 > ok > U341 > active1 > x1 > U612 > mark > U412
U321 > ok > U341 > active1 > x1 > U612 > mark > U921
U321 > ok > U341 > active1 > x1 > U912 > mark > plus2
U321 > ok > U341 > active1 > x1 > U912 > mark > U412
U321 > ok > U341 > active1 > x1 > U912 > mark > U921
U321 > ok > U341 > active1 > U113
U321 > ok > U341 > active1 > U122 > U132 > mark > plus2
U321 > ok > U341 > active1 > U122 > U132 > mark > U412
U321 > ok > U341 > active1 > U122 > U132 > mark > U921
U321 > ok > U341 > active1 > U142 > mark > plus2
U321 > ok > U341 > active1 > U142 > mark > U412
U321 > ok > U341 > active1 > U142 > mark > U921
U321 > ok > U341 > active1 > U351 > mark > plus2
U321 > ok > U341 > active1 > U351 > mark > U412
U321 > ok > U341 > active1 > U351 > mark > U921
U331 > ok > U1032 > mark > plus2
U331 > ok > U1032 > mark > U412
U331 > ok > U1032 > mark > U921
U331 > ok > U341 > active1 > U421 > mark > plus2
U331 > ok > U341 > active1 > U421 > mark > U412
U331 > ok > U341 > active1 > U421 > mark > U921
U331 > ok > U341 > active1 > U1021 > mark > plus2
U331 > ok > U341 > active1 > U1021 > mark > U412
U331 > ok > U341 > active1 > U1021 > mark > U921
U331 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U331 > ok > U341 > active1 > x1 > U1013 > mark > U412
U331 > ok > U341 > active1 > x1 > U1013 > mark > U921
U331 > ok > U341 > active1 > x1 > U313 > mark > plus2
U331 > ok > U341 > active1 > x1 > U313 > mark > U412
U331 > ok > U341 > active1 > x1 > U313 > mark > U921
U331 > ok > U341 > active1 > x1 > U612 > mark > plus2
U331 > ok > U341 > active1 > x1 > U612 > mark > U412
U331 > ok > U341 > active1 > x1 > U612 > mark > U921
U331 > ok > U341 > active1 > x1 > U912 > mark > plus2
U331 > ok > U341 > active1 > x1 > U912 > mark > U412
U331 > ok > U341 > active1 > x1 > U912 > mark > U921
U331 > ok > U341 > active1 > U113
U331 > ok > U341 > active1 > U122 > U132 > mark > plus2
U331 > ok > U341 > active1 > U122 > U132 > mark > U412
U331 > ok > U341 > active1 > U122 > U132 > mark > U921
U331 > ok > U341 > active1 > U142 > mark > plus2
U331 > ok > U341 > active1 > U142 > mark > U412
U331 > ok > U341 > active1 > U142 > mark > U921
U331 > ok > U341 > active1 > U351 > mark > plus2
U331 > ok > U341 > active1 > U351 > mark > U412
U331 > ok > U341 > active1 > U351 > mark > U921
U721 > ok > U1032 > mark > plus2
U721 > ok > U1032 > mark > U412
U721 > ok > U1032 > mark > U921
U721 > ok > U341 > active1 > U421 > mark > plus2
U721 > ok > U341 > active1 > U421 > mark > U412
U721 > ok > U341 > active1 > U421 > mark > U921
U721 > ok > U341 > active1 > U1021 > mark > plus2
U721 > ok > U341 > active1 > U1021 > mark > U412
U721 > ok > U341 > active1 > U1021 > mark > U921
U721 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U721 > ok > U341 > active1 > x1 > U1013 > mark > U412
U721 > ok > U341 > active1 > x1 > U1013 > mark > U921
U721 > ok > U341 > active1 > x1 > U313 > mark > plus2
U721 > ok > U341 > active1 > x1 > U313 > mark > U412
U721 > ok > U341 > active1 > x1 > U313 > mark > U921
U721 > ok > U341 > active1 > x1 > U612 > mark > plus2
U721 > ok > U341 > active1 > x1 > U612 > mark > U412
U721 > ok > U341 > active1 > x1 > U612 > mark > U921
U721 > ok > U341 > active1 > x1 > U912 > mark > plus2
U721 > ok > U341 > active1 > x1 > U912 > mark > U412
U721 > ok > U341 > active1 > x1 > U912 > mark > U921
U721 > ok > U341 > active1 > U113
U721 > ok > U341 > active1 > U122 > U132 > mark > plus2
U721 > ok > U341 > active1 > U122 > U132 > mark > U412
U721 > ok > U341 > active1 > U122 > U132 > mark > U921
U721 > ok > U341 > active1 > U142 > mark > plus2
U721 > ok > U341 > active1 > U142 > mark > U412
U721 > ok > U341 > active1 > U142 > mark > U921
U721 > ok > U341 > active1 > U351 > mark > plus2
U721 > ok > U341 > active1 > U351 > mark > U412
U721 > ok > U341 > active1 > U351 > mark > U921
U812 > ok > U1032 > mark > plus2
U812 > ok > U1032 > mark > U412
U812 > ok > U1032 > mark > U921
U812 > ok > U341 > active1 > U421 > mark > plus2
U812 > ok > U341 > active1 > U421 > mark > U412
U812 > ok > U341 > active1 > U421 > mark > U921
U812 > ok > U341 > active1 > U1021 > mark > plus2
U812 > ok > U341 > active1 > U1021 > mark > U412
U812 > ok > U341 > active1 > U1021 > mark > U921
U812 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U812 > ok > U341 > active1 > x1 > U1013 > mark > U412
U812 > ok > U341 > active1 > x1 > U1013 > mark > U921
U812 > ok > U341 > active1 > x1 > U313 > mark > plus2
U812 > ok > U341 > active1 > x1 > U313 > mark > U412
U812 > ok > U341 > active1 > x1 > U313 > mark > U921
U812 > ok > U341 > active1 > x1 > U612 > mark > plus2
U812 > ok > U341 > active1 > x1 > U612 > mark > U412
U812 > ok > U341 > active1 > x1 > U612 > mark > U921
U812 > ok > U341 > active1 > x1 > U912 > mark > plus2
U812 > ok > U341 > active1 > x1 > U912 > mark > U412
U812 > ok > U341 > active1 > x1 > U912 > mark > U921
U812 > ok > U341 > active1 > U113
U812 > ok > U341 > active1 > U122 > U132 > mark > plus2
U812 > ok > U341 > active1 > U122 > U132 > mark > U412
U812 > ok > U341 > active1 > U122 > U132 > mark > U921
U812 > ok > U341 > active1 > U142 > mark > plus2
U812 > ok > U341 > active1 > U142 > mark > U412
U812 > ok > U341 > active1 > U142 > mark > U921
U812 > ok > U341 > active1 > U351 > mark > plus2
U812 > ok > U341 > active1 > U351 > mark > U412
U812 > ok > U341 > active1 > U351 > mark > U921
U821 > ok > U1032 > mark > plus2
U821 > ok > U1032 > mark > U412
U821 > ok > U1032 > mark > U921
U821 > ok > U341 > active1 > U421 > mark > plus2
U821 > ok > U341 > active1 > U421 > mark > U412
U821 > ok > U341 > active1 > U421 > mark > U921
U821 > ok > U341 > active1 > U1021 > mark > plus2
U821 > ok > U341 > active1 > U1021 > mark > U412
U821 > ok > U341 > active1 > U1021 > mark > U921
U821 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U821 > ok > U341 > active1 > x1 > U1013 > mark > U412
U821 > ok > U341 > active1 > x1 > U1013 > mark > U921
U821 > ok > U341 > active1 > x1 > U313 > mark > plus2
U821 > ok > U341 > active1 > x1 > U313 > mark > U412
U821 > ok > U341 > active1 > x1 > U313 > mark > U921
U821 > ok > U341 > active1 > x1 > U612 > mark > plus2
U821 > ok > U341 > active1 > x1 > U612 > mark > U412
U821 > ok > U341 > active1 > x1 > U612 > mark > U921
U821 > ok > U341 > active1 > x1 > U912 > mark > plus2
U821 > ok > U341 > active1 > x1 > U912 > mark > U412
U821 > ok > U341 > active1 > x1 > U912 > mark > U921
U821 > ok > U341 > active1 > U113
U821 > ok > U341 > active1 > U122 > U132 > mark > plus2
U821 > ok > U341 > active1 > U122 > U132 > mark > U412
U821 > ok > U341 > active1 > U122 > U132 > mark > U921
U821 > ok > U341 > active1 > U142 > mark > plus2
U821 > ok > U341 > active1 > U142 > mark > U412
U821 > ok > U341 > active1 > U142 > mark > U921
U821 > ok > U341 > active1 > U351 > mark > plus2
U821 > ok > U341 > active1 > U351 > mark > U412
U821 > ok > U341 > active1 > U351 > mark > U921
U832 > ok > U1032 > mark > plus2
U832 > ok > U1032 > mark > U412
U832 > ok > U1032 > mark > U921
U832 > ok > U341 > active1 > U421 > mark > plus2
U832 > ok > U341 > active1 > U421 > mark > U412
U832 > ok > U341 > active1 > U421 > mark > U921
U832 > ok > U341 > active1 > U1021 > mark > plus2
U832 > ok > U341 > active1 > U1021 > mark > U412
U832 > ok > U341 > active1 > U1021 > mark > U921
U832 > ok > U341 > active1 > x1 > U1013 > mark > plus2
U832 > ok > U341 > active1 > x1 > U1013 > mark > U412
U832 > ok > U341 > active1 > x1 > U1013 > mark > U921
U832 > ok > U341 > active1 > x1 > U313 > mark > plus2
U832 > ok > U341 > active1 > x1 > U313 > mark > U412
U832 > ok > U341 > active1 > x1 > U313 > mark > U921
U832 > ok > U341 > active1 > x1 > U612 > mark > plus2
U832 > ok > U341 > active1 > x1 > U612 > mark > U412
U832 > ok > U341 > active1 > x1 > U612 > mark > U921
U832 > ok > U341 > active1 > x1 > U912 > mark > plus2
U832 > ok > U341 > active1 > x1 > U912 > mark > U412
U832 > ok > U341 > active1 > x1 > U912 > mark > U921
U832 > ok > U341 > active1 > U113
U832 > ok > U341 > active1 > U122 > U132 > mark > plus2
U832 > ok > U341 > active1 > U122 > U132 > mark > U412
U832 > ok > U341 > active1 > U122 > U132 > mark > U921
U832 > ok > U341 > active1 > U142 > mark > plus2
U832 > ok > U341 > active1 > U142 > mark > U412
U832 > ok > U341 > active1 > U142 > mark > U921
U832 > ok > U341 > active1 > U351 > mark > plus2
U832 > ok > U341 > active1 > U351 > mark > U412
U832 > ok > U341 > active1 > U351 > mark > U921
top > active1 > U421 > mark > plus2
top > active1 > U421 > mark > U412
top > active1 > U421 > mark > U921
top > active1 > U1021 > mark > plus2
top > active1 > U1021 > mark > U412
top > active1 > U1021 > mark > U921
top > active1 > x1 > U1013 > mark > plus2
top > active1 > x1 > U1013 > mark > U412
top > active1 > x1 > U1013 > mark > U921
top > active1 > x1 > U313 > mark > plus2
top > active1 > x1 > U313 > mark > U412
top > active1 > x1 > U313 > mark > U921
top > active1 > x1 > U612 > mark > plus2
top > active1 > x1 > U612 > mark > U412
top > active1 > x1 > U612 > mark > U921
top > active1 > x1 > U912 > mark > plus2
top > active1 > x1 > U912 > mark > U412
top > active1 > x1 > U912 > mark > U921
top > active1 > U113
top > active1 > U122 > U132 > mark > plus2
top > active1 > U122 > U132 > mark > U412
top > active1 > U122 > U132 > mark > U921
top > active1 > U142 > mark > plus2
top > active1 > U142 > mark > U412
top > active1 > U142 > mark > U921
top > active1 > U351 > mark > plus2
top > active1 > U351 > mark > U412
top > active1 > U351 > mark > U921
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(isNatKind(X)) → PROPER(X)
PROPER(isNat(X)) → PROPER(X)
PROPER(U16(X)) → PROPER(X)
PROPER(U23(X)) → PROPER(X)
PROPER(U36(X)) → PROPER(X)
PROPER(U51(X)) → PROPER(X)
PROPER(U62(X)) → PROPER(X)
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(isNatKind(X)) → PROPER(X)
PROPER(isNat(X)) → PROPER(X)
PROPER(U16(X)) → PROPER(X)
PROPER(U36(X)) → PROPER(X)
active1 > U361 > tt > U161 > mark1
active1 > U361 > tt > U161 > ok1
active1 > U361 > tt > plus2 > isNatKind1 > ok1
active1 > U361 > tt > plus2 > isNat1 > ok1
active1 > U361 > tt > plus2 > mark1
active1 > U361 > tt > x2 > isNatKind1 > ok1
active1 > U361 > tt > x2 > isNat1 > ok1
active1 > U361 > tt > x2 > mark1
active1 > U361 > tt > U133 > isNatKind1 > ok1
active1 > U361 > tt > U133 > mark1
active1 > U361 > tt > U222 > isNat1 > ok1
active1 > U361 > tt > U222 > mark1
active1 > U361 > tt > U323 > isNatKind1 > ok1
active1 > U361 > tt > U323 > mark1
active1 > U361 > tt > U333 > isNatKind1 > ok1
active1 > U361 > tt > U333 > mark1
active1 > U361 > tt > U352 > isNat1 > ok1
active1 > U361 > tt > U352 > mark1
active1 > U1013 > isNatKind1 > ok1
active1 > U1013 > mark1
active1 > U1023 > U1033 > U1043 > plus2 > isNatKind1 > ok1
active1 > U1023 > U1033 > U1043 > plus2 > isNat1 > ok1
active1 > U1023 > U1033 > U1043 > plus2 > mark1
active1 > U1023 > U1033 > U1043 > x2 > isNatKind1 > ok1
active1 > U1023 > U1033 > U1043 > x2 > isNat1 > ok1
active1 > U1023 > U1033 > U1043 > x2 > mark1
active1 > U113 > isNatKind1 > ok1
active1 > U113 > mark1
active1 > U123 > U133 > isNatKind1 > ok1
active1 > U123 > U133 > mark1
active1 > U143 > isNat1 > ok1
active1 > U143 > mark1
active1 > U152 > isNat1 > ok1
active1 > U152 > U161 > mark1
active1 > U152 > U161 > ok1
active1 > U212 > isNatKind1 > ok1
active1 > U212 > mark1
active1 > U313 > isNatKind1 > ok1
active1 > U313 > mark1
active1 > U343 > U352 > isNat1 > ok1
active1 > U343 > U352 > mark1
active1 > U412 > isNatKind1 > ok1
active1 > U412 > mark1
active1 > U421 > tt > U161 > mark1
active1 > U421 > tt > U161 > ok1
active1 > U421 > tt > plus2 > isNatKind1 > ok1
active1 > U421 > tt > plus2 > isNat1 > ok1
active1 > U421 > tt > plus2 > mark1
active1 > U421 > tt > x2 > isNatKind1 > ok1
active1 > U421 > tt > x2 > isNat1 > ok1
active1 > U421 > tt > x2 > mark1
active1 > U421 > tt > U133 > isNatKind1 > ok1
active1 > U421 > tt > U133 > mark1
active1 > U421 > tt > U222 > isNat1 > ok1
active1 > U421 > tt > U222 > mark1
active1 > U421 > tt > U323 > isNatKind1 > ok1
active1 > U421 > tt > U323 > mark1
active1 > U421 > tt > U333 > isNatKind1 > ok1
active1 > U421 > tt > U333 > mark1
active1 > U421 > tt > U352 > isNat1 > ok1
active1 > U421 > tt > U352 > mark1
active1 > U612 > isNatKind1 > ok1
active1 > U612 > mark1
active1 > U712 > isNatKind1 > ok1
active1 > U712 > U722 > mark1
active1 > U712 > U722 > ok1
active1 > U813 > isNatKind1 > ok1
active1 > U813 > U823 > isNat1 > ok1
active1 > U813 > U823 > mark1
active1 > U833 > isNatKind1 > ok1
active1 > U833 > mark1
active1 > U843 > plus2 > isNatKind1 > ok1
active1 > U843 > plus2 > isNat1 > ok1
active1 > U843 > plus2 > mark1
active1 > 0 > isNat1 > ok1
active1 > 0 > U912 > isNatKind1 > ok1
active1 > 0 > U912 > mark1
proper1 > U361 > tt > U161 > mark1
proper1 > U361 > tt > U161 > ok1
proper1 > U361 > tt > plus2 > isNatKind1 > ok1
proper1 > U361 > tt > plus2 > isNat1 > ok1
proper1 > U361 > tt > plus2 > mark1
proper1 > U361 > tt > x2 > isNatKind1 > ok1
proper1 > U361 > tt > x2 > isNat1 > ok1
proper1 > U361 > tt > x2 > mark1
proper1 > U361 > tt > U133 > isNatKind1 > ok1
proper1 > U361 > tt > U133 > mark1
proper1 > U361 > tt > U222 > isNat1 > ok1
proper1 > U361 > tt > U222 > mark1
proper1 > U361 > tt > U323 > isNatKind1 > ok1
proper1 > U361 > tt > U323 > mark1
proper1 > U361 > tt > U333 > isNatKind1 > ok1
proper1 > U361 > tt > U333 > mark1
proper1 > U361 > tt > U352 > isNat1 > ok1
proper1 > U361 > tt > U352 > mark1
proper1 > U1013 > isNatKind1 > ok1
proper1 > U1013 > mark1
proper1 > U1023 > U1033 > U1043 > plus2 > isNatKind1 > ok1
proper1 > U1023 > U1033 > U1043 > plus2 > isNat1 > ok1
proper1 > U1023 > U1033 > U1043 > plus2 > mark1
proper1 > U1023 > U1033 > U1043 > x2 > isNatKind1 > ok1
proper1 > U1023 > U1033 > U1043 > x2 > isNat1 > ok1
proper1 > U1023 > U1033 > U1043 > x2 > mark1
proper1 > U113 > isNatKind1 > ok1
proper1 > U113 > mark1
proper1 > U123 > U133 > isNatKind1 > ok1
proper1 > U123 > U133 > mark1
proper1 > U143 > isNat1 > ok1
proper1 > U143 > mark1
proper1 > U152 > isNat1 > ok1
proper1 > U152 > U161 > mark1
proper1 > U152 > U161 > ok1
proper1 > U212 > isNatKind1 > ok1
proper1 > U212 > mark1
proper1 > U313 > isNatKind1 > ok1
proper1 > U313 > mark1
proper1 > U343 > U352 > isNat1 > ok1
proper1 > U343 > U352 > mark1
proper1 > U412 > isNatKind1 > ok1
proper1 > U412 > mark1
proper1 > U421 > tt > U161 > mark1
proper1 > U421 > tt > U161 > ok1
proper1 > U421 > tt > plus2 > isNatKind1 > ok1
proper1 > U421 > tt > plus2 > isNat1 > ok1
proper1 > U421 > tt > plus2 > mark1
proper1 > U421 > tt > x2 > isNatKind1 > ok1
proper1 > U421 > tt > x2 > isNat1 > ok1
proper1 > U421 > tt > x2 > mark1
proper1 > U421 > tt > U133 > isNatKind1 > ok1
proper1 > U421 > tt > U133 > mark1
proper1 > U421 > tt > U222 > isNat1 > ok1
proper1 > U421 > tt > U222 > mark1
proper1 > U421 > tt > U323 > isNatKind1 > ok1
proper1 > U421 > tt > U323 > mark1
proper1 > U421 > tt > U333 > isNatKind1 > ok1
proper1 > U421 > tt > U333 > mark1
proper1 > U421 > tt > U352 > isNat1 > ok1
proper1 > U421 > tt > U352 > mark1
proper1 > U612 > isNatKind1 > ok1
proper1 > U612 > mark1
proper1 > U712 > isNatKind1 > ok1
proper1 > U712 > U722 > mark1
proper1 > U712 > U722 > ok1
proper1 > U813 > isNatKind1 > ok1
proper1 > U813 > U823 > isNat1 > ok1
proper1 > U813 > U823 > mark1
proper1 > U833 > isNatKind1 > ok1
proper1 > U833 > mark1
proper1 > U843 > plus2 > isNatKind1 > ok1
proper1 > U843 > plus2 > isNat1 > ok1
proper1 > U843 > plus2 > mark1
proper1 > 0 > isNat1 > ok1
proper1 > 0 > U912 > isNatKind1 > ok1
proper1 > 0 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(U23(X)) → PROPER(X)
PROPER(U51(X)) → PROPER(X)
PROPER(U62(X)) → PROPER(X)
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(U51(X)) → PROPER(X)
active1 > U511 > tt > 0 > ok
active1 > U511 > mark1
active1 > U1023 > mark1
active1 > U1023 > ok
active1 > U1033 > mark1
active1 > U1033 > isNatKind > tt > 0 > ok
active1 > U1043 > mark1
active1 > U1043 > ok
active1 > plus2 > isNat > mark1
active1 > plus2 > isNat > isNatKind > tt > 0 > ok
active1 > plus2 > U813 > mark1
active1 > plus2 > U813 > isNatKind > tt > 0 > ok
active1 > x2 > U1013 > mark1
active1 > x2 > U1013 > isNatKind > tt > 0 > ok
active1 > x2 > isNat > mark1
active1 > x2 > isNat > isNatKind > tt > 0 > ok
active1 > x2 > U311 > mark1
active1 > x2 > U311 > isNatKind > tt > 0 > ok
active1 > U111 > mark1
active1 > U111 > isNatKind > tt > 0 > ok
active1 > U131 > mark1
active1 > U131 > isNatKind > tt > 0 > ok
active1 > U221 > mark1
active1 > U221 > ok
active1 > U321 > mark1
active1 > U321 > isNatKind > tt > 0 > ok
active1 > U411 > mark1
active1 > U411 > isNatKind > tt > 0 > ok
active1 > U421 > tt > 0 > ok
active1 > U421 > mark1
active1 > U712 > isNatKind > tt > 0 > ok
active1 > U712 > U722 > mark1
active1 > U712 > U722 > ok
active1 > U823 > mark1
active1 > U823 > ok
active1 > U833 > isNatKind > tt > 0 > ok
active1 > U833 > U843 > mark1
active1 > U833 > U843 > ok
proper1 > U511 > tt > 0 > ok
proper1 > U511 > mark1
proper1 > U1023 > mark1
proper1 > U1023 > ok
proper1 > U1033 > mark1
proper1 > U1033 > isNatKind > tt > 0 > ok
proper1 > U1043 > mark1
proper1 > U1043 > ok
proper1 > plus2 > isNat > mark1
proper1 > plus2 > isNat > isNatKind > tt > 0 > ok
proper1 > plus2 > U813 > mark1
proper1 > plus2 > U813 > isNatKind > tt > 0 > ok
proper1 > x2 > U1013 > mark1
proper1 > x2 > U1013 > isNatKind > tt > 0 > ok
proper1 > x2 > isNat > mark1
proper1 > x2 > isNat > isNatKind > tt > 0 > ok
proper1 > x2 > U311 > mark1
proper1 > x2 > U311 > isNatKind > tt > 0 > ok
proper1 > U111 > mark1
proper1 > U111 > isNatKind > tt > 0 > ok
proper1 > U131 > mark1
proper1 > U131 > isNatKind > tt > 0 > ok
proper1 > U221 > mark1
proper1 > U221 > ok
proper1 > U321 > mark1
proper1 > U321 > isNatKind > tt > 0 > ok
proper1 > U411 > mark1
proper1 > U411 > isNatKind > tt > 0 > ok
proper1 > U421 > tt > 0 > ok
proper1 > U421 > mark1
proper1 > U712 > isNatKind > tt > 0 > ok
proper1 > U712 > U722 > mark1
proper1 > U712 > U722 > ok
proper1 > U823 > mark1
proper1 > U823 > ok
proper1 > U833 > isNatKind > tt > 0 > ok
proper1 > U833 > U843 > mark1
proper1 > U833 > U843 > ok
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(U23(X)) → PROPER(X)
PROPER(U62(X)) → PROPER(X)
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(U23(X)) → PROPER(X)
active1 > U1013 > U1023 > U1033 > mark1
active1 > U1043 > x2 > mark1
active1 > plus2 > U113 > mark1
active1 > plus2 > U712 > U722 > mark1
active1 > plus2 > U813 > mark1
active1 > U123 > U133 > mark1
active1 > U143 > isNat1 > tt > U231 > mark1
active1 > U143 > isNat1 > tt > U133 > mark1
active1 > U143 > isNat1 > tt > U161 > mark1
active1 > U143 > isNat1 > tt > U722 > mark1
active1 > U143 > isNat1 > tt > U833 > mark1
active1 > U143 > isNat1 > tt > 0 > mark1
active1 > U143 > isNat1 > U113 > mark1
active1 > U143 > isNat1 > U212 > U222 > U231 > mark1
active1 > U143 > isNat1 > U313 > U323 > mark1
active1 > U143 > U152 > U161 > mark1
active1 > U333 > U343 > U352 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > U231 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > U133 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > U161 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > U722 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > U833 > mark1
active1 > U612 > isNatKind1 > U412 > U421 > tt > 0 > mark1
active1 > U823 > U833 > mark1
active1 > U843 > mark1
active1 > U912 > mark1
active1 > U921 > 0 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(U62(X)) → PROPER(X)
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(U62(X)) → PROPER(X)
active1 > U621 > tt > U1023 > U1033 > mark1
active1 > U621 > tt > U1023 > isNat1 > U113 > mark1
active1 > U621 > tt > plus2 > isNat1 > U113 > mark1
active1 > U621 > tt > plus2 > U813 > mark1
active1 > U621 > tt > x2 > isNat1 > U113 > mark1
active1 > U621 > tt > x2 > U313 > mark1
active1 > U621 > tt > U123 > mark1
active1 > U621 > tt > U133 > U143 > mark1
active1 > U621 > tt > U152 > isNat1 > U113 > mark1
active1 > U621 > tt > U161 > mark1
active1 > U621 > tt > U323 > mark1
active1 > U621 > tt > U352 > mark1
active1 > U621 > tt > U722 > mark1
active1 > U621 > tt > U823 > mark1
active1 > U621 > tt > U833 > mark1
active1 > U222 > ok > U1013 > mark1
active1 > U222 > ok > U1023 > U1033 > mark1
active1 > U222 > ok > U1023 > isNat1 > U113 > mark1
active1 > U222 > ok > U1043 > plus2 > isNat1 > U113 > mark1
active1 > U222 > ok > U1043 > plus2 > U813 > mark1
active1 > U222 > ok > U1043 > x2 > isNat1 > U113 > mark1
active1 > U222 > ok > U1043 > x2 > U313 > mark1
active1 > U222 > ok > U123 > mark1
active1 > U222 > ok > U133 > U143 > mark1
active1 > U222 > ok > U152 > isNat1 > U113 > mark1
active1 > U222 > ok > U161 > mark1
active1 > U222 > ok > U212 > mark1
active1 > U222 > ok > U323 > mark1
active1 > U222 > ok > U352 > mark1
active1 > U222 > ok > U511 > mark1
active1 > U222 > ok > U612 > mark1
active1 > U222 > ok > U722 > mark1
active1 > U222 > ok > U823 > mark1
active1 > U222 > ok > U833 > mark1
active1 > U222 > ok > U912 > mark1
active1 > U333 > mark1
active1 > U343 > ok > U1013 > mark1
active1 > U343 > ok > U1023 > U1033 > mark1
active1 > U343 > ok > U1023 > isNat1 > U113 > mark1
active1 > U343 > ok > U1043 > plus2 > isNat1 > U113 > mark1
active1 > U343 > ok > U1043 > plus2 > U813 > mark1
active1 > U343 > ok > U1043 > x2 > isNat1 > U113 > mark1
active1 > U343 > ok > U1043 > x2 > U313 > mark1
active1 > U343 > ok > U123 > mark1
active1 > U343 > ok > U133 > U143 > mark1
active1 > U343 > ok > U152 > isNat1 > U113 > mark1
active1 > U343 > ok > U161 > mark1
active1 > U343 > ok > U212 > mark1
active1 > U343 > ok > U323 > mark1
active1 > U343 > ok > U352 > mark1
active1 > U343 > ok > U511 > mark1
active1 > U343 > ok > U612 > mark1
active1 > U343 > ok > U722 > mark1
active1 > U343 > ok > U823 > mark1
active1 > U343 > ok > U833 > mark1
active1 > U343 > ok > U912 > mark1
active1 > U412 > mark1
active1 > U712 > ok > U1013 > mark1
active1 > U712 > ok > U1023 > U1033 > mark1
active1 > U712 > ok > U1023 > isNat1 > U113 > mark1
active1 > U712 > ok > U1043 > plus2 > isNat1 > U113 > mark1
active1 > U712 > ok > U1043 > plus2 > U813 > mark1
active1 > U712 > ok > U1043 > x2 > isNat1 > U113 > mark1
active1 > U712 > ok > U1043 > x2 > U313 > mark1
active1 > U712 > ok > U123 > mark1
active1 > U712 > ok > U133 > U143 > mark1
active1 > U712 > ok > U152 > isNat1 > U113 > mark1
active1 > U712 > ok > U161 > mark1
active1 > U712 > ok > U212 > mark1
active1 > U712 > ok > U323 > mark1
active1 > U712 > ok > U352 > mark1
active1 > U712 > ok > U511 > mark1
active1 > U712 > ok > U612 > mark1
active1 > U712 > ok > U722 > mark1
active1 > U712 > ok > U823 > mark1
active1 > U712 > ok > U833 > mark1
active1 > U712 > ok > U912 > mark1
active1 > U843 > ok > U1013 > mark1
active1 > U843 > ok > U1023 > U1033 > mark1
active1 > U843 > ok > U1023 > isNat1 > U113 > mark1
active1 > U843 > ok > U1043 > plus2 > isNat1 > U113 > mark1
active1 > U843 > ok > U1043 > plus2 > U813 > mark1
active1 > U843 > ok > U1043 > x2 > isNat1 > U113 > mark1
active1 > U843 > ok > U1043 > x2 > U313 > mark1
active1 > U843 > ok > U123 > mark1
active1 > U843 > ok > U133 > U143 > mark1
active1 > U843 > ok > U152 > isNat1 > U113 > mark1
active1 > U843 > ok > U161 > mark1
active1 > U843 > ok > U212 > mark1
active1 > U843 > ok > U323 > mark1
active1 > U843 > ok > U352 > mark1
active1 > U843 > ok > U511 > mark1
active1 > U843 > ok > U612 > mark1
active1 > U843 > ok > U722 > mark1
active1 > U843 > ok > U823 > mark1
active1 > U843 > ok > U833 > mark1
active1 > U843 > ok > U912 > mark1
active1 > 0 > tt > U1023 > U1033 > mark1
active1 > 0 > tt > U1023 > isNat1 > U113 > mark1
active1 > 0 > tt > plus2 > isNat1 > U113 > mark1
active1 > 0 > tt > plus2 > U813 > mark1
active1 > 0 > tt > x2 > isNat1 > U113 > mark1
active1 > 0 > tt > x2 > U313 > mark1
active1 > 0 > tt > U123 > mark1
active1 > 0 > tt > U133 > U143 > mark1
active1 > 0 > tt > U152 > isNat1 > U113 > mark1
active1 > 0 > tt > U161 > mark1
active1 > 0 > tt > U323 > mark1
active1 > 0 > tt > U352 > mark1
active1 > 0 > tt > U722 > mark1
active1 > 0 > tt > U823 > mark1
active1 > 0 > tt > U833 > mark1
active1 > 0 > U912 > mark1
proper1 > U621 > tt > U1023 > U1033 > mark1
proper1 > U621 > tt > U1023 > isNat1 > U113 > mark1
proper1 > U621 > tt > plus2 > isNat1 > U113 > mark1
proper1 > U621 > tt > plus2 > U813 > mark1
proper1 > U621 > tt > x2 > isNat1 > U113 > mark1
proper1 > U621 > tt > x2 > U313 > mark1
proper1 > U621 > tt > U123 > mark1
proper1 > U621 > tt > U133 > U143 > mark1
proper1 > U621 > tt > U152 > isNat1 > U113 > mark1
proper1 > U621 > tt > U161 > mark1
proper1 > U621 > tt > U323 > mark1
proper1 > U621 > tt > U352 > mark1
proper1 > U621 > tt > U722 > mark1
proper1 > U621 > tt > U823 > mark1
proper1 > U621 > tt > U833 > mark1
proper1 > U222 > ok > U1013 > mark1
proper1 > U222 > ok > U1023 > U1033 > mark1
proper1 > U222 > ok > U1023 > isNat1 > U113 > mark1
proper1 > U222 > ok > U1043 > plus2 > isNat1 > U113 > mark1
proper1 > U222 > ok > U1043 > plus2 > U813 > mark1
proper1 > U222 > ok > U1043 > x2 > isNat1 > U113 > mark1
proper1 > U222 > ok > U1043 > x2 > U313 > mark1
proper1 > U222 > ok > U123 > mark1
proper1 > U222 > ok > U133 > U143 > mark1
proper1 > U222 > ok > U152 > isNat1 > U113 > mark1
proper1 > U222 > ok > U161 > mark1
proper1 > U222 > ok > U212 > mark1
proper1 > U222 > ok > U323 > mark1
proper1 > U222 > ok > U352 > mark1
proper1 > U222 > ok > U511 > mark1
proper1 > U222 > ok > U612 > mark1
proper1 > U222 > ok > U722 > mark1
proper1 > U222 > ok > U823 > mark1
proper1 > U222 > ok > U833 > mark1
proper1 > U222 > ok > U912 > mark1
proper1 > U333 > mark1
proper1 > U343 > ok > U1013 > mark1
proper1 > U343 > ok > U1023 > U1033 > mark1
proper1 > U343 > ok > U1023 > isNat1 > U113 > mark1
proper1 > U343 > ok > U1043 > plus2 > isNat1 > U113 > mark1
proper1 > U343 > ok > U1043 > plus2 > U813 > mark1
proper1 > U343 > ok > U1043 > x2 > isNat1 > U113 > mark1
proper1 > U343 > ok > U1043 > x2 > U313 > mark1
proper1 > U343 > ok > U123 > mark1
proper1 > U343 > ok > U133 > U143 > mark1
proper1 > U343 > ok > U152 > isNat1 > U113 > mark1
proper1 > U343 > ok > U161 > mark1
proper1 > U343 > ok > U212 > mark1
proper1 > U343 > ok > U323 > mark1
proper1 > U343 > ok > U352 > mark1
proper1 > U343 > ok > U511 > mark1
proper1 > U343 > ok > U612 > mark1
proper1 > U343 > ok > U722 > mark1
proper1 > U343 > ok > U823 > mark1
proper1 > U343 > ok > U833 > mark1
proper1 > U343 > ok > U912 > mark1
proper1 > U412 > mark1
proper1 > U712 > ok > U1013 > mark1
proper1 > U712 > ok > U1023 > U1033 > mark1
proper1 > U712 > ok > U1023 > isNat1 > U113 > mark1
proper1 > U712 > ok > U1043 > plus2 > isNat1 > U113 > mark1
proper1 > U712 > ok > U1043 > plus2 > U813 > mark1
proper1 > U712 > ok > U1043 > x2 > isNat1 > U113 > mark1
proper1 > U712 > ok > U1043 > x2 > U313 > mark1
proper1 > U712 > ok > U123 > mark1
proper1 > U712 > ok > U133 > U143 > mark1
proper1 > U712 > ok > U152 > isNat1 > U113 > mark1
proper1 > U712 > ok > U161 > mark1
proper1 > U712 > ok > U212 > mark1
proper1 > U712 > ok > U323 > mark1
proper1 > U712 > ok > U352 > mark1
proper1 > U712 > ok > U511 > mark1
proper1 > U712 > ok > U612 > mark1
proper1 > U712 > ok > U722 > mark1
proper1 > U712 > ok > U823 > mark1
proper1 > U712 > ok > U833 > mark1
proper1 > U712 > ok > U912 > mark1
proper1 > U843 > ok > U1013 > mark1
proper1 > U843 > ok > U1023 > U1033 > mark1
proper1 > U843 > ok > U1023 > isNat1 > U113 > mark1
proper1 > U843 > ok > U1043 > plus2 > isNat1 > U113 > mark1
proper1 > U843 > ok > U1043 > plus2 > U813 > mark1
proper1 > U843 > ok > U1043 > x2 > isNat1 > U113 > mark1
proper1 > U843 > ok > U1043 > x2 > U313 > mark1
proper1 > U843 > ok > U123 > mark1
proper1 > U843 > ok > U133 > U143 > mark1
proper1 > U843 > ok > U152 > isNat1 > U113 > mark1
proper1 > U843 > ok > U161 > mark1
proper1 > U843 > ok > U212 > mark1
proper1 > U843 > ok > U323 > mark1
proper1 > U843 > ok > U352 > mark1
proper1 > U843 > ok > U511 > mark1
proper1 > U843 > ok > U612 > mark1
proper1 > U843 > ok > U722 > mark1
proper1 > U843 > ok > U823 > mark1
proper1 > U843 > ok > U833 > mark1
proper1 > U843 > ok > U912 > mark1
proper1 > 0 > tt > U1023 > U1033 > mark1
proper1 > 0 > tt > U1023 > isNat1 > U113 > mark1
proper1 > 0 > tt > plus2 > isNat1 > U113 > mark1
proper1 > 0 > tt > plus2 > U813 > mark1
proper1 > 0 > tt > x2 > isNat1 > U113 > mark1
proper1 > 0 > tt > x2 > U313 > mark1
proper1 > 0 > tt > U123 > mark1
proper1 > 0 > tt > U133 > U143 > mark1
proper1 > 0 > tt > U152 > isNat1 > U113 > mark1
proper1 > 0 > tt > U161 > mark1
proper1 > 0 > tt > U323 > mark1
proper1 > 0 > tt > U352 > mark1
proper1 > 0 > tt > U722 > mark1
proper1 > 0 > tt > U823 > mark1
proper1 > 0 > tt > U833 > mark1
proper1 > 0 > U912 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(s(X)) → PROPER(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(s(X)) → PROPER(X)
top > active1 > isNatKind > U411 > U421 > tt > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > isNatKind > U411 > U421 > tt > U151 > mark1
top > active1 > isNatKind > U411 > U421 > tt > U321 > mark1
top > active1 > isNatKind > U611 > mark1
top > active1 > isNat > tt > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > isNat > tt > U151 > mark1
top > active1 > isNat > tt > U321 > mark1
top > active1 > isNat > U311 > U321 > mark1
top > active1 > plus2 > U411 > U421 > tt > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > plus2 > U411 > U421 > tt > U151 > mark1
top > active1 > plus2 > U411 > U421 > tt > U321 > mark1
top > active1 > plus2 > U712 > mark1
top > active1 > plus2 > U813 > mark1
top > active1 > U131 > mark1
top > active1 > U231 > tt > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > U231 > tt > U151 > mark1
top > active1 > U231 > tt > U321 > mark1
top > active1 > U331 > mark1
top > active1 > U341 > mark1
top > active1 > U722 > mark1
top > active1 > U823 > mark1
top > active1 > U833 > U843 > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > 0 > tt > s1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > 0 > tt > U151 > mark1
top > active1 > 0 > tt > U321 > mark1
top > active1 > 0 > U712 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U102(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U101(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U103(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U104(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → ACTIVE(X2)
ACTIVE(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U14(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U15(X1, X2)) → ACTIVE(X1)
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U21(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2)) → ACTIVE(X1)
ACTIVE(U23(X)) → ACTIVE(X)
ACTIVE(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U35(X1, X2)) → ACTIVE(X1)
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U41(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U71(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U82(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U83(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U104(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → ACTIVE(X2)
tt > 0 > ok > active1 > mark > U1043
tt > 0 > ok > active1 > mark > plus2
tt > 0 > ok > active1 > mark > x2
top > active1 > mark > U1043
top > active1 > mark > plus2
top > active1 > mark > x2
top > proper1 > U1043
top > proper1 > plus2
top > proper1 > x2
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U102(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U101(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U103(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U14(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U15(X1, X2)) → ACTIVE(X1)
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U21(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2)) → ACTIVE(X1)
ACTIVE(U23(X)) → ACTIVE(X)
ACTIVE(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U35(X1, X2)) → ACTIVE(X1)
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U41(X1, X2)) → ACTIVE(X1)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U71(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U82(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U83(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U102(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U101(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U103(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U12(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U13(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U14(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U15(X1, X2)) → ACTIVE(X1)
ACTIVE(U21(X1, X2)) → ACTIVE(X1)
ACTIVE(U22(X1, X2)) → ACTIVE(X1)
ACTIVE(U23(X)) → ACTIVE(X)
ACTIVE(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U35(X1, X2)) → ACTIVE(X1)
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U41(X1, X2)) → ACTIVE(X1)
ACTIVE(U61(X1, X2)) → ACTIVE(X1)
ACTIVE(U71(X1, X2)) → ACTIVE(X1)
ACTIVE(U72(X1, X2)) → ACTIVE(X1)
ACTIVE(U81(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U82(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U83(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U91(X1, X2)) → ACTIVE(X1)
active1 > U113 > ok > U231 > U1013
active1 > U113 > ok > U333 > U1013
active1 > U113 > ok > U833 > U1013
active1 > U113 > ok > U843 > U1013
active1 > U123 > U133 > ok > U231 > U1013
active1 > U123 > U133 > ok > U333 > U1013
active1 > U123 > U133 > ok > U833 > U1013
active1 > U123 > U133 > ok > U843 > U1013
active1 > U143 > U152 > ok > U231 > U1013
active1 > U143 > U152 > ok > U333 > U1013
active1 > U143 > U152 > ok > U833 > U1013
active1 > U143 > U152 > ok > U843 > U1013
active1 > U143 > isNat1 > tt > U1023 > U1033 > U1013
active1 > U143 > isNat1 > tt > U1023 > ok > U231 > U1013
active1 > U143 > isNat1 > tt > U1023 > ok > U333 > U1013
active1 > U143 > isNat1 > tt > U1023 > ok > U833 > U1013
active1 > U143 > isNat1 > tt > U1023 > ok > U843 > U1013
active1 > U143 > isNat1 > tt > U343 > U1013
active1 > U143 > isNat1 > tt > x2 > U1013
active1 > U143 > isNat1 > tt > 0 > ok > U231 > U1013
active1 > U143 > isNat1 > tt > 0 > ok > U333 > U1013
active1 > U143 > isNat1 > tt > 0 > ok > U833 > U1013
active1 > U143 > isNat1 > tt > 0 > ok > U843 > U1013
active1 > U212 > U222 > ok > U231 > U1013
active1 > U212 > U222 > ok > U333 > U1013
active1 > U212 > U222 > ok > U833 > U1013
active1 > U212 > U222 > ok > U843 > U1013
active1 > U313 > ok > U231 > U1013
active1 > U313 > ok > U333 > U1013
active1 > U313 > ok > U833 > U1013
active1 > U313 > ok > U843 > U1013
active1 > U323 > ok > U231 > U1013
active1 > U323 > ok > U333 > U1013
active1 > U323 > ok > U833 > U1013
active1 > U323 > ok > U843 > U1013
active1 > U352 > isNat1 > tt > U1023 > U1033 > U1013
active1 > U352 > isNat1 > tt > U1023 > ok > U231 > U1013
active1 > U352 > isNat1 > tt > U1023 > ok > U333 > U1013
active1 > U352 > isNat1 > tt > U1023 > ok > U833 > U1013
active1 > U352 > isNat1 > tt > U1023 > ok > U843 > U1013
active1 > U352 > isNat1 > tt > U343 > U1013
active1 > U352 > isNat1 > tt > x2 > U1013
active1 > U352 > isNat1 > tt > 0 > ok > U231 > U1013
active1 > U352 > isNat1 > tt > 0 > ok > U333 > U1013
active1 > U352 > isNat1 > tt > 0 > ok > U833 > U1013
active1 > U352 > isNat1 > tt > 0 > ok > U843 > U1013
active1 > U361 > tt > U1023 > U1033 > U1013
active1 > U361 > tt > U1023 > ok > U231 > U1013
active1 > U361 > tt > U1023 > ok > U333 > U1013
active1 > U361 > tt > U1023 > ok > U833 > U1013
active1 > U361 > tt > U1023 > ok > U843 > U1013
active1 > U361 > tt > U343 > U1013
active1 > U361 > tt > x2 > U1013
active1 > U361 > tt > 0 > ok > U231 > U1013
active1 > U361 > tt > 0 > ok > U333 > U1013
active1 > U361 > tt > 0 > ok > U833 > U1013
active1 > U361 > tt > 0 > ok > U843 > U1013
active1 > U412 > ok > U231 > U1013
active1 > U412 > ok > U333 > U1013
active1 > U412 > ok > U833 > U1013
active1 > U412 > ok > U843 > U1013
active1 > U612 > U1013
active1 > U712 > ok > U231 > U1013
active1 > U712 > ok > U333 > U1013
active1 > U712 > ok > U833 > U1013
active1 > U712 > ok > U843 > U1013
active1 > U722 > ok > U231 > U1013
active1 > U722 > ok > U333 > U1013
active1 > U722 > ok > U833 > U1013
active1 > U722 > ok > U843 > U1013
active1 > U813 > ok > U231 > U1013
active1 > U813 > ok > U333 > U1013
active1 > U813 > ok > U833 > U1013
active1 > U813 > ok > U843 > U1013
active1 > U823 > isNat1 > tt > U1023 > U1033 > U1013
active1 > U823 > isNat1 > tt > U1023 > ok > U231 > U1013
active1 > U823 > isNat1 > tt > U1023 > ok > U333 > U1013
active1 > U823 > isNat1 > tt > U1023 > ok > U833 > U1013
active1 > U823 > isNat1 > tt > U1023 > ok > U843 > U1013
active1 > U823 > isNat1 > tt > U343 > U1013
active1 > U823 > isNat1 > tt > x2 > U1013
active1 > U823 > isNat1 > tt > 0 > ok > U231 > U1013
active1 > U823 > isNat1 > tt > 0 > ok > U333 > U1013
active1 > U823 > isNat1 > tt > 0 > ok > U833 > U1013
active1 > U823 > isNat1 > tt > 0 > ok > U843 > U1013
active1 > U912 > ok > U231 > U1013
active1 > U912 > ok > U333 > U1013
active1 > U912 > ok > U833 > U1013
active1 > U912 > ok > U843 > U1013
active1 > U1043 > x2 > U1013
active1 > U1043 > ok > U231 > U1013
active1 > U1043 > ok > U333 > U1013
active1 > U1043 > ok > U833 > U1013
active1 > U1043 > ok > U843 > U1013
active1 > plus2 > ok > U231 > U1013
active1 > plus2 > ok > U333 > U1013
active1 > plus2 > ok > U833 > U1013
active1 > plus2 > ok > U843 > U1013
top > U1013
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(U92(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE1 > mark1
active1 > U1023 > mark1
active1 > isNatKind1 > tt > mark1
active1 > isNatKind1 > U412 > mark1
active1 > U1033 > U1043 > plus2 > mark1
active1 > isNat1 > tt > mark1
active1 > isNat1 > U113 > mark1
active1 > isNat1 > U212 > mark1
active1 > isNat1 > U313 > U323 > mark1
active1 > x2 > U1013 > mark1
active1 > U123 > U133 > mark1
active1 > U143 > mark1
active1 > U152 > mark1
active1 > U222 > mark1
active1 > U231 > tt > mark1
active1 > U333 > mark1
active1 > U343 > U352 > mark1
active1 > U612 > mark1
active1 > U722 > mark1
active1 > U813 > U823 > mark1
active1 > U833 > mark1
active1 > U843 > s1 > U1013 > mark1
active1 > U843 > s1 > U212 > mark1
active1 > U843 > plus2 > mark1
active1 > 0 > tt > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U912 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U92(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U92(X)) → ACTIVE(X)
active1 > U921 > ACTIVE1 > U112
active1 > U1033 > U112
active1 > U1042 > U112
active1 > plus2 > U112
active1 > x2 > U1013 > U1023 > U112
active1 > x2 > U313 > U112
active1 > U151 > U112
active1 > U23 > U112
active1 > U323 > U112
active1 > U333 > U112
active1 > U343 > U352 > U361 > U112
active1 > U412 > U112
active1 > U611 > U112
active1 > U722 > U112
active1 > U812 > U112
active1 > U823 > U112
active1 > U832 > U842 > U112
active1 > s1 > U1013 > U1023 > U112
active1 > 0 > tt > U122 > U112
active1 > 0 > tt > U141 > U112
active1 > 0 > tt > U22 > U112
active1 > 0 > tt > U361 > U112
active1 > 0 > tt > U842 > U112
proper1 > U921 > ACTIVE1 > U112
proper1 > U1033 > U112
proper1 > U1042 > U112
proper1 > plus2 > U112
proper1 > x2 > U1013 > U1023 > U112
proper1 > x2 > U313 > U112
proper1 > U151 > U112
proper1 > U23 > U112
proper1 > U323 > U112
proper1 > U333 > U112
proper1 > U343 > U352 > U361 > U112
proper1 > U412 > U112
proper1 > U611 > U112
proper1 > U722 > U112
proper1 > U812 > U112
proper1 > U823 > U112
proper1 > U832 > U842 > U112
proper1 > s1 > U1013 > U1023 > U112
proper1 > 0 > tt > U122 > U112
proper1 > 0 > tt > U141 > U112
proper1 > 0 > tt > U22 > U112
proper1 > 0 > tt > U361 > U112
proper1 > 0 > tt > U842 > U112
top > U112
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U16(X)) → ACTIVE(X)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U16(X)) → ACTIVE(X)
active1 > U161 > tt > U1023 > U1033 > U1043 > mark1
active1 > U161 > tt > U1023 > U1033 > U1043 > ok
active1 > U161 > tt > U133 > mark1
active1 > U161 > tt > U133 > ok
active1 > U161 > tt > U152 > mark1
active1 > U161 > tt > U152 > ok
active1 > U161 > tt > U323 > U333 > mark1
active1 > U161 > tt > U323 > U333 > ok
active1 > U161 > tt > U722 > mark1
active1 > U161 > tt > U722 > ok
active1 > U161 > tt > U833 > mark1
active1 > U161 > tt > U833 > ok
active1 > U161 > tt > U921 > 0 > mark1
active1 > U161 > tt > U921 > 0 > ok
active1 > x2 > U1013 > U1023 > U1033 > U1043 > mark1
active1 > x2 > U1013 > U1023 > U1033 > U1043 > ok
active1 > U123 > isNatKind > tt > U1023 > U1033 > U1043 > mark1
active1 > U123 > isNatKind > tt > U1023 > U1033 > U1043 > ok
active1 > U123 > isNatKind > tt > U133 > mark1
active1 > U123 > isNatKind > tt > U133 > ok
active1 > U123 > isNatKind > tt > U152 > mark1
active1 > U123 > isNatKind > tt > U152 > ok
active1 > U123 > isNatKind > tt > U323 > U333 > mark1
active1 > U123 > isNatKind > tt > U323 > U333 > ok
active1 > U123 > isNatKind > tt > U722 > mark1
active1 > U123 > isNatKind > tt > U722 > ok
active1 > U123 > isNatKind > tt > U833 > mark1
active1 > U123 > isNatKind > tt > U833 > ok
active1 > U123 > isNatKind > tt > U921 > 0 > mark1
active1 > U123 > isNatKind > tt > U921 > 0 > ok
active1 > U123 > isNatKind > U411 > mark1
active1 > U123 > isNatKind > U411 > ok
active1 > U123 > isNatKind > U611 > mark1
active1 > U123 > isNatKind > U611 > ok
active1 > U143 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U143 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U143 > isNat1 > tt > U133 > mark1
active1 > U143 > isNat1 > tt > U133 > ok
active1 > U143 > isNat1 > tt > U152 > mark1
active1 > U143 > isNat1 > tt > U152 > ok
active1 > U143 > isNat1 > tt > U323 > U333 > mark1
active1 > U143 > isNat1 > tt > U323 > U333 > ok
active1 > U143 > isNat1 > tt > U722 > mark1
active1 > U143 > isNat1 > tt > U722 > ok
active1 > U143 > isNat1 > tt > U833 > mark1
active1 > U143 > isNat1 > tt > U833 > ok
active1 > U143 > isNat1 > tt > U921 > 0 > mark1
active1 > U143 > isNat1 > tt > U921 > 0 > ok
active1 > U143 > isNat1 > U113 > mark1
active1 > U143 > isNat1 > U113 > ok
active1 > U143 > isNat1 > U313 > U323 > U333 > mark1
active1 > U143 > isNat1 > U313 > U323 > U333 > ok
active1 > U212 > isNatKind > tt > U1023 > U1033 > U1043 > mark1
active1 > U212 > isNatKind > tt > U1023 > U1033 > U1043 > ok
active1 > U212 > isNatKind > tt > U133 > mark1
active1 > U212 > isNatKind > tt > U133 > ok
active1 > U212 > isNatKind > tt > U152 > mark1
active1 > U212 > isNatKind > tt > U152 > ok
active1 > U212 > isNatKind > tt > U323 > U333 > mark1
active1 > U212 > isNatKind > tt > U323 > U333 > ok
active1 > U212 > isNatKind > tt > U722 > mark1
active1 > U212 > isNatKind > tt > U722 > ok
active1 > U212 > isNatKind > tt > U833 > mark1
active1 > U212 > isNatKind > tt > U833 > ok
active1 > U212 > isNatKind > tt > U921 > 0 > mark1
active1 > U212 > isNatKind > tt > U921 > 0 > ok
active1 > U212 > isNatKind > U411 > mark1
active1 > U212 > isNatKind > U411 > ok
active1 > U212 > isNatKind > U611 > mark1
active1 > U212 > isNatKind > U611 > ok
active1 > U212 > U222 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U212 > U222 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U212 > U222 > isNat1 > tt > U133 > mark1
active1 > U212 > U222 > isNat1 > tt > U133 > ok
active1 > U212 > U222 > isNat1 > tt > U152 > mark1
active1 > U212 > U222 > isNat1 > tt > U152 > ok
active1 > U212 > U222 > isNat1 > tt > U323 > U333 > mark1
active1 > U212 > U222 > isNat1 > tt > U323 > U333 > ok
active1 > U212 > U222 > isNat1 > tt > U722 > mark1
active1 > U212 > U222 > isNat1 > tt > U722 > ok
active1 > U212 > U222 > isNat1 > tt > U833 > mark1
active1 > U212 > U222 > isNat1 > tt > U833 > ok
active1 > U212 > U222 > isNat1 > tt > U921 > 0 > mark1
active1 > U212 > U222 > isNat1 > tt > U921 > 0 > ok
active1 > U212 > U222 > isNat1 > U113 > mark1
active1 > U212 > U222 > isNat1 > U113 > ok
active1 > U212 > U222 > isNat1 > U313 > U323 > U333 > mark1
active1 > U212 > U222 > isNat1 > U313 > U323 > U333 > ok
active1 > U231 > tt > U1023 > U1033 > U1043 > mark1
active1 > U231 > tt > U1023 > U1033 > U1043 > ok
active1 > U231 > tt > U133 > mark1
active1 > U231 > tt > U133 > ok
active1 > U231 > tt > U152 > mark1
active1 > U231 > tt > U152 > ok
active1 > U231 > tt > U323 > U333 > mark1
active1 > U231 > tt > U323 > U333 > ok
active1 > U231 > tt > U722 > mark1
active1 > U231 > tt > U722 > ok
active1 > U231 > tt > U833 > mark1
active1 > U231 > tt > U833 > ok
active1 > U231 > tt > U921 > 0 > mark1
active1 > U231 > tt > U921 > 0 > ok
active1 > U343 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U343 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U343 > isNat1 > tt > U133 > mark1
active1 > U343 > isNat1 > tt > U133 > ok
active1 > U343 > isNat1 > tt > U152 > mark1
active1 > U343 > isNat1 > tt > U152 > ok
active1 > U343 > isNat1 > tt > U323 > U333 > mark1
active1 > U343 > isNat1 > tt > U323 > U333 > ok
active1 > U343 > isNat1 > tt > U722 > mark1
active1 > U343 > isNat1 > tt > U722 > ok
active1 > U343 > isNat1 > tt > U833 > mark1
active1 > U343 > isNat1 > tt > U833 > ok
active1 > U343 > isNat1 > tt > U921 > 0 > mark1
active1 > U343 > isNat1 > tt > U921 > 0 > ok
active1 > U343 > isNat1 > U113 > mark1
active1 > U343 > isNat1 > U113 > ok
active1 > U343 > isNat1 > U313 > U323 > U333 > mark1
active1 > U343 > isNat1 > U313 > U323 > U333 > ok
active1 > U352 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U352 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U352 > isNat1 > tt > U133 > mark1
active1 > U352 > isNat1 > tt > U133 > ok
active1 > U352 > isNat1 > tt > U152 > mark1
active1 > U352 > isNat1 > tt > U152 > ok
active1 > U352 > isNat1 > tt > U323 > U333 > mark1
active1 > U352 > isNat1 > tt > U323 > U333 > ok
active1 > U352 > isNat1 > tt > U722 > mark1
active1 > U352 > isNat1 > tt > U722 > ok
active1 > U352 > isNat1 > tt > U833 > mark1
active1 > U352 > isNat1 > tt > U833 > ok
active1 > U352 > isNat1 > tt > U921 > 0 > mark1
active1 > U352 > isNat1 > tt > U921 > 0 > ok
active1 > U352 > isNat1 > U113 > mark1
active1 > U352 > isNat1 > U113 > ok
active1 > U352 > isNat1 > U313 > U323 > U333 > mark1
active1 > U352 > isNat1 > U313 > U323 > U333 > ok
active1 > U823 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U823 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U823 > isNat1 > tt > U133 > mark1
active1 > U823 > isNat1 > tt > U133 > ok
active1 > U823 > isNat1 > tt > U152 > mark1
active1 > U823 > isNat1 > tt > U152 > ok
active1 > U823 > isNat1 > tt > U323 > U333 > mark1
active1 > U823 > isNat1 > tt > U323 > U333 > ok
active1 > U823 > isNat1 > tt > U722 > mark1
active1 > U823 > isNat1 > tt > U722 > ok
active1 > U823 > isNat1 > tt > U833 > mark1
active1 > U823 > isNat1 > tt > U833 > ok
active1 > U823 > isNat1 > tt > U921 > 0 > mark1
active1 > U823 > isNat1 > tt > U921 > 0 > ok
active1 > U823 > isNat1 > U113 > mark1
active1 > U823 > isNat1 > U113 > ok
active1 > U823 > isNat1 > U313 > U323 > U333 > mark1
active1 > U823 > isNat1 > U313 > U323 > U333 > ok
active1 > U843 > plus2 > isNatKind > tt > U1023 > U1033 > U1043 > mark1
active1 > U843 > plus2 > isNatKind > tt > U1023 > U1033 > U1043 > ok
active1 > U843 > plus2 > isNatKind > tt > U133 > mark1
active1 > U843 > plus2 > isNatKind > tt > U133 > ok
active1 > U843 > plus2 > isNatKind > tt > U152 > mark1
active1 > U843 > plus2 > isNatKind > tt > U152 > ok
active1 > U843 > plus2 > isNatKind > tt > U323 > U333 > mark1
active1 > U843 > plus2 > isNatKind > tt > U323 > U333 > ok
active1 > U843 > plus2 > isNatKind > tt > U722 > mark1
active1 > U843 > plus2 > isNatKind > tt > U722 > ok
active1 > U843 > plus2 > isNatKind > tt > U833 > mark1
active1 > U843 > plus2 > isNatKind > tt > U833 > ok
active1 > U843 > plus2 > isNatKind > tt > U921 > 0 > mark1
active1 > U843 > plus2 > isNatKind > tt > U921 > 0 > ok
active1 > U843 > plus2 > isNatKind > U411 > mark1
active1 > U843 > plus2 > isNatKind > U411 > ok
active1 > U843 > plus2 > isNatKind > U611 > mark1
active1 > U843 > plus2 > isNatKind > U611 > ok
active1 > U843 > plus2 > isNat1 > tt > U1023 > U1033 > U1043 > mark1
active1 > U843 > plus2 > isNat1 > tt > U1023 > U1033 > U1043 > ok
active1 > U843 > plus2 > isNat1 > tt > U133 > mark1
active1 > U843 > plus2 > isNat1 > tt > U133 > ok
active1 > U843 > plus2 > isNat1 > tt > U152 > mark1
active1 > U843 > plus2 > isNat1 > tt > U152 > ok
active1 > U843 > plus2 > isNat1 > tt > U323 > U333 > mark1
active1 > U843 > plus2 > isNat1 > tt > U323 > U333 > ok
active1 > U843 > plus2 > isNat1 > tt > U722 > mark1
active1 > U843 > plus2 > isNat1 > tt > U722 > ok
active1 > U843 > plus2 > isNat1 > tt > U833 > mark1
active1 > U843 > plus2 > isNat1 > tt > U833 > ok
active1 > U843 > plus2 > isNat1 > tt > U921 > 0 > mark1
active1 > U843 > plus2 > isNat1 > tt > U921 > 0 > ok
active1 > U843 > plus2 > isNat1 > U113 > mark1
active1 > U843 > plus2 > isNat1 > U113 > ok
active1 > U843 > plus2 > isNat1 > U313 > U323 > U333 > mark1
active1 > U843 > plus2 > isNat1 > U313 > U323 > U333 > ok
active1 > U843 > plus2 > U712 > U722 > mark1
active1 > U843 > plus2 > U712 > U722 > ok
active1 > U843 > plus2 > U813 > mark1
active1 > U843 > plus2 > U813 > ok
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
top > active1 > U621 > tt > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > U621 > tt > U1033 > U1043 > x2 > mark1
top > active1 > U621 > tt > ok > U421 > mark1
top > active1 > U621 > tt > ok > U1043 > plus2 > U813 > mark1
top > active1 > U621 > tt > ok > U1043 > x2 > mark1
top > active1 > U621 > tt > ok > U131 > U141 > mark1
top > active1 > U621 > tt > ok > U321 > mark1
top > active1 > U621 > tt > ok > U341 > mark1
top > active1 > U621 > tt > ok > U722 > mark1
top > active1 > U621 > tt > ok > U823 > U833 > U843 > mark1
top > active1 > U1013 > U1023 > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > active1 > U1013 > U1023 > ok > U421 > mark1
top > active1 > U1013 > U1023 > ok > U1043 > plus2 > U813 > mark1
top > active1 > U1013 > U1023 > ok > U1043 > x2 > mark1
top > active1 > U1013 > U1023 > ok > U131 > U141 > mark1
top > active1 > U1013 > U1023 > ok > U321 > mark1
top > active1 > U1013 > U1023 > ok > U341 > mark1
top > active1 > U1013 > U1023 > ok > U722 > mark1
top > active1 > U1013 > U1023 > ok > U823 > U833 > U843 > mark1
top > active1 > U211 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > U211 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > active1 > U211 > isNatKind > tt > ok > U421 > mark1
top > active1 > U211 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > active1 > U211 > isNatKind > tt > ok > U1043 > x2 > mark1
top > active1 > U211 > isNatKind > tt > ok > U131 > U141 > mark1
top > active1 > U211 > isNatKind > tt > ok > U321 > mark1
top > active1 > U211 > isNatKind > tt > ok > U341 > mark1
top > active1 > U211 > isNatKind > tt > ok > U722 > mark1
top > active1 > U211 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > active1 > U311 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > U311 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > active1 > U311 > isNatKind > tt > ok > U421 > mark1
top > active1 > U311 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > active1 > U311 > isNatKind > tt > ok > U1043 > x2 > mark1
top > active1 > U311 > isNatKind > tt > ok > U131 > U141 > mark1
top > active1 > U311 > isNatKind > tt > ok > U321 > mark1
top > active1 > U311 > isNatKind > tt > ok > U341 > mark1
top > active1 > U311 > isNatKind > tt > ok > U722 > mark1
top > active1 > U311 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > active1 > U331 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > U331 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > active1 > U331 > isNatKind > tt > ok > U421 > mark1
top > active1 > U331 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > active1 > U331 > isNatKind > tt > ok > U1043 > x2 > mark1
top > active1 > U331 > isNatKind > tt > ok > U131 > U141 > mark1
top > active1 > U331 > isNatKind > tt > ok > U321 > mark1
top > active1 > U331 > isNatKind > tt > ok > U341 > mark1
top > active1 > U331 > isNatKind > tt > ok > U722 > mark1
top > active1 > U331 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > active1 > 0 > isNat > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > active1 > 0 > isNat > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U421 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U1043 > x2 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U131 > U141 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U321 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U341 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U722 > mark1
top > active1 > 0 > isNat > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > active1 > 0 > U712 > ok > U421 > mark1
top > active1 > 0 > U712 > ok > U1043 > plus2 > U813 > mark1
top > active1 > 0 > U712 > ok > U1043 > x2 > mark1
top > active1 > 0 > U712 > ok > U131 > U141 > mark1
top > active1 > 0 > U712 > ok > U321 > mark1
top > active1 > 0 > U712 > ok > U341 > mark1
top > active1 > 0 > U712 > ok > U722 > mark1
top > active1 > 0 > U712 > ok > U823 > U833 > U843 > mark1
top > proper1 > U621 > tt > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > U621 > tt > U1033 > U1043 > x2 > mark1
top > proper1 > U621 > tt > ok > U421 > mark1
top > proper1 > U621 > tt > ok > U1043 > plus2 > U813 > mark1
top > proper1 > U621 > tt > ok > U1043 > x2 > mark1
top > proper1 > U621 > tt > ok > U131 > U141 > mark1
top > proper1 > U621 > tt > ok > U321 > mark1
top > proper1 > U621 > tt > ok > U341 > mark1
top > proper1 > U621 > tt > ok > U722 > mark1
top > proper1 > U621 > tt > ok > U823 > U833 > U843 > mark1
top > proper1 > U1013 > U1023 > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > U1013 > U1023 > U1033 > U1043 > x2 > mark1
top > proper1 > U1013 > U1023 > ok > U421 > mark1
top > proper1 > U1013 > U1023 > ok > U1043 > plus2 > U813 > mark1
top > proper1 > U1013 > U1023 > ok > U1043 > x2 > mark1
top > proper1 > U1013 > U1023 > ok > U131 > U141 > mark1
top > proper1 > U1013 > U1023 > ok > U321 > mark1
top > proper1 > U1013 > U1023 > ok > U341 > mark1
top > proper1 > U1013 > U1023 > ok > U722 > mark1
top > proper1 > U1013 > U1023 > ok > U823 > U833 > U843 > mark1
top > proper1 > U211 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > U211 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U421 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U1043 > x2 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U131 > U141 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U321 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U341 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U722 > mark1
top > proper1 > U211 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > proper1 > U311 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > U311 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U421 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U1043 > x2 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U131 > U141 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U321 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U341 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U722 > mark1
top > proper1 > U311 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > proper1 > U331 > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > U331 > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U421 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U1043 > x2 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U131 > U141 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U321 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U341 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U722 > mark1
top > proper1 > U331 > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > U1033 > U1043 > plus2 > U813 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > U1033 > U1043 > x2 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U421 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U1043 > plus2 > U813 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U1043 > x2 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U131 > U141 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U321 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U341 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U722 > mark1
top > proper1 > 0 > isNat > isNatKind > tt > ok > U823 > U833 > U843 > mark1
top > proper1 > 0 > U712 > ok > U421 > mark1
top > proper1 > 0 > U712 > ok > U1043 > plus2 > U813 > mark1
top > proper1 > 0 > U712 > ok > U1043 > x2 > mark1
top > proper1 > 0 > U712 > ok > U131 > U141 > mark1
top > proper1 > 0 > U712 > ok > U321 > mark1
top > proper1 > 0 > U712 > ok > U341 > mark1
top > proper1 > 0 > U712 > ok > U722 > mark1
top > proper1 > 0 > U712 > ok > U823 > U833 > U843 > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(U51(X)) → ACTIVE(X)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE1 > mark1
active1 > U511 > tt > U231 > mark1
active1 > U511 > tt > U361 > mark1
active1 > U511 > tt > U843 > plus2 > mark1
active1 > U1023 > isNat > tt > U231 > mark1
active1 > U1023 > isNat > tt > U361 > mark1
active1 > U1023 > isNat > tt > U843 > plus2 > mark1
active1 > isNatKind > tt > U231 > mark1
active1 > isNatKind > tt > U361 > mark1
active1 > isNatKind > tt > U843 > plus2 > mark1
active1 > isNatKind > U611 > mark1
active1 > U1033 > mark1
active1 > U1043 > x2 > isNat > tt > U231 > mark1
active1 > U1043 > x2 > isNat > tt > U361 > mark1
active1 > U1043 > x2 > isNat > tt > U843 > plus2 > mark1
active1 > U111 > mark1
active1 > U121 > mark1
active1 > U141 > U151 > mark1
active1 > U161 > tt > U231 > mark1
active1 > U161 > tt > U361 > mark1
active1 > U161 > tt > U843 > plus2 > mark1
active1 > U321 > mark1
active1 > U351 > isNat > tt > U231 > mark1
active1 > U351 > isNat > tt > U361 > mark1
active1 > U351 > isNat > tt > U843 > plus2 > mark1
active1 > U722 > mark1
active1 > U823 > isNat > tt > U231 > mark1
active1 > U823 > isNat > tt > U361 > mark1
active1 > U823 > isNat > tt > U843 > plus2 > mark1
active1 > U823 > U833 > U843 > plus2 > mark1
active1 > s1 > U1013 > mark1
active1 > s1 > isNat > tt > U231 > mark1
active1 > s1 > isNat > tt > U361 > mark1
active1 > s1 > isNat > tt > U843 > plus2 > mark1
active1 > s1 > U813 > mark1
active1 > U911 > U921 > mark1
active1 > 0 > isNat > tt > U231 > mark1
active1 > 0 > isNat > tt > U361 > mark1
active1 > 0 > isNat > tt > U843 > plus2 > mark1
active1 > 0 > U712 > mark1
top > mark1
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
TOP(ok(X)) → TOP(active(X))
TOP(mark(X)) → TOP(proper(X))
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(isNat(M), M, N))
active(x(N, 0)) → mark(U91(isNat(N), N))
active(x(N, s(M))) → mark(U101(isNat(M), M, N))
active(U101(X1, X2, X3)) → U101(active(X1), X2, X3)
active(U102(X1, X2, X3)) → U102(active(X1), X2, X3)
active(U103(X1, X2, X3)) → U103(active(X1), X2, X3)
active(U104(X1, X2, X3)) → U104(active(X1), X2, X3)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
active(U11(X1, X2, X3)) → U11(active(X1), X2, X3)
active(U12(X1, X2, X3)) → U12(active(X1), X2, X3)
active(U13(X1, X2, X3)) → U13(active(X1), X2, X3)
active(U14(X1, X2, X3)) → U14(active(X1), X2, X3)
active(U15(X1, X2)) → U15(active(X1), X2)
active(U16(X)) → U16(active(X))
active(U21(X1, X2)) → U21(active(X1), X2)
active(U22(X1, X2)) → U22(active(X1), X2)
active(U23(X)) → U23(active(X))
active(U31(X1, X2, X3)) → U31(active(X1), X2, X3)
active(U32(X1, X2, X3)) → U32(active(X1), X2, X3)
active(U33(X1, X2, X3)) → U33(active(X1), X2, X3)
active(U34(X1, X2, X3)) → U34(active(X1), X2, X3)
active(U35(X1, X2)) → U35(active(X1), X2)
active(U36(X)) → U36(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)
active(U42(X)) → U42(active(X))
active(U51(X)) → U51(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)
active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)
active(U72(X1, X2)) → U72(active(X1), X2)
active(U81(X1, X2, X3)) → U81(active(X1), X2, X3)
active(U82(X1, X2, X3)) → U82(active(X1), X2, X3)
active(U83(X1, X2, X3)) → U83(active(X1), X2, X3)
active(U84(X1, X2, X3)) → U84(active(X1), X2, X3)
active(s(X)) → s(active(X))
active(U91(X1, X2)) → U91(active(X1), X2)
active(U92(X)) → U92(active(X))
U101(mark(X1), X2, X3) → mark(U101(X1, X2, X3))
U102(mark(X1), X2, X3) → mark(U102(X1, X2, X3))
U103(mark(X1), X2, X3) → mark(U103(X1, X2, X3))
U104(mark(X1), X2, X3) → mark(U104(X1, X2, X3))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
U11(mark(X1), X2, X3) → mark(U11(X1, X2, X3))
U12(mark(X1), X2, X3) → mark(U12(X1, X2, X3))
U13(mark(X1), X2, X3) → mark(U13(X1, X2, X3))
U14(mark(X1), X2, X3) → mark(U14(X1, X2, X3))
U15(mark(X1), X2) → mark(U15(X1, X2))
U16(mark(X)) → mark(U16(X))
U21(mark(X1), X2) → mark(U21(X1, X2))
U22(mark(X1), X2) → mark(U22(X1, X2))
U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2, X3) → mark(U31(X1, X2, X3))
U32(mark(X1), X2, X3) → mark(U32(X1, X2, X3))
U33(mark(X1), X2, X3) → mark(U33(X1, X2, X3))
U34(mark(X1), X2, X3) → mark(U34(X1, X2, X3))
U35(mark(X1), X2) → mark(U35(X1, X2))
U36(mark(X)) → mark(U36(X))
U41(mark(X1), X2) → mark(U41(X1, X2))
U42(mark(X)) → mark(U42(X))
U51(mark(X)) → mark(U51(X))
U61(mark(X1), X2) → mark(U61(X1, X2))
U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))
U72(mark(X1), X2) → mark(U72(X1, X2))
U81(mark(X1), X2, X3) → mark(U81(X1, X2, X3))
U82(mark(X1), X2, X3) → mark(U82(X1, X2, X3))
U83(mark(X1), X2, X3) → mark(U83(X1, X2, X3))
U84(mark(X1), X2, X3) → mark(U84(X1, X2, X3))
s(mark(X)) → mark(s(X))
U91(mark(X1), X2) → mark(U91(X1, X2))
U92(mark(X)) → mark(U92(X))
proper(U101(X1, X2, X3)) → U101(proper(X1), proper(X2), proper(X3))
proper(tt) → ok(tt)
proper(U102(X1, X2, X3)) → U102(proper(X1), proper(X2), proper(X3))
proper(isNatKind(X)) → isNatKind(proper(X))
proper(U103(X1, X2, X3)) → U103(proper(X1), proper(X2), proper(X3))
proper(isNat(X)) → isNat(proper(X))
proper(U104(X1, X2, X3)) → U104(proper(X1), proper(X2), proper(X3))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
proper(U11(X1, X2, X3)) → U11(proper(X1), proper(X2), proper(X3))
proper(U12(X1, X2, X3)) → U12(proper(X1), proper(X2), proper(X3))
proper(U13(X1, X2, X3)) → U13(proper(X1), proper(X2), proper(X3))
proper(U14(X1, X2, X3)) → U14(proper(X1), proper(X2), proper(X3))
proper(U15(X1, X2)) → U15(proper(X1), proper(X2))
proper(U16(X)) → U16(proper(X))
proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))
proper(U23(X)) → U23(proper(X))
proper(U31(X1, X2, X3)) → U31(proper(X1), proper(X2), proper(X3))
proper(U32(X1, X2, X3)) → U32(proper(X1), proper(X2), proper(X3))
proper(U33(X1, X2, X3)) → U33(proper(X1), proper(X2), proper(X3))
proper(U34(X1, X2, X3)) → U34(proper(X1), proper(X2), proper(X3))
proper(U35(X1, X2)) → U35(proper(X1), proper(X2))
proper(U36(X)) → U36(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))
proper(U42(X)) → U42(proper(X))
proper(U51(X)) → U51(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))
proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U72(X1, X2)) → U72(proper(X1), proper(X2))
proper(U81(X1, X2, X3)) → U81(proper(X1), proper(X2), proper(X3))
proper(U82(X1, X2, X3)) → U82(proper(X1), proper(X2), proper(X3))
proper(U83(X1, X2, X3)) → U83(proper(X1), proper(X2), proper(X3))
proper(U84(X1, X2, X3)) → U84(proper(X1), proper(X2), proper(X3))
proper(s(X)) → s(proper(X))
proper(U91(X1, X2)) → U91(proper(X1), proper(X2))
proper(U92(X)) → U92(proper(X))
proper(0) → ok(0)
U101(ok(X1), ok(X2), ok(X3)) → ok(U101(X1, X2, X3))
U102(ok(X1), ok(X2), ok(X3)) → ok(U102(X1, X2, X3))
isNatKind(ok(X)) → ok(isNatKind(X))
U103(ok(X1), ok(X2), ok(X3)) → ok(U103(X1, X2, X3))
isNat(ok(X)) → ok(isNat(X))
U104(ok(X1), ok(X2), ok(X3)) → ok(U104(X1, X2, X3))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
U11(ok(X1), ok(X2), ok(X3)) → ok(U11(X1, X2, X3))
U12(ok(X1), ok(X2), ok(X3)) → ok(U12(X1, X2, X3))
U13(ok(X1), ok(X2), ok(X3)) → ok(U13(X1, X2, X3))
U14(ok(X1), ok(X2), ok(X3)) → ok(U14(X1, X2, X3))
U15(ok(X1), ok(X2)) → ok(U15(X1, X2))
U16(ok(X)) → ok(U16(X))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))
U23(ok(X)) → ok(U23(X))
U31(ok(X1), ok(X2), ok(X3)) → ok(U31(X1, X2, X3))
U32(ok(X1), ok(X2), ok(X3)) → ok(U32(X1, X2, X3))
U33(ok(X1), ok(X2), ok(X3)) → ok(U33(X1, X2, X3))
U34(ok(X1), ok(X2), ok(X3)) → ok(U34(X1, X2, X3))
U35(ok(X1), ok(X2)) → ok(U35(X1, X2))
U36(ok(X)) → ok(U36(X))
U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
U42(ok(X)) → ok(U42(X))
U51(ok(X)) → ok(U51(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))
U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))
U72(ok(X1), ok(X2)) → ok(U72(X1, X2))
U81(ok(X1), ok(X2), ok(X3)) → ok(U81(X1, X2, X3))
U82(ok(X1), ok(X2), ok(X3)) → ok(U82(X1, X2, X3))
U83(ok(X1), ok(X2), ok(X3)) → ok(U83(X1, X2, X3))
U84(ok(X1), ok(X2), ok(X3)) → ok(U84(X1, X2, X3))
s(ok(X)) → ok(s(X))
U91(ok(X1), ok(X2)) → ok(U91(X1, X2))
U92(ok(X)) → ok(U92(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))