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 QDPOrderProof (⇔)
↳231 QDP
↳232 PisEmptyProof (⇔)
↳233 TRUE
↳234 QDP
↳235 QDPOrderProof (⇔)
↳236 QDP
↳237 QDPOrderProof (⇔)
↳238 QDP
↳239 PisEmptyProof (⇔)
↳240 TRUE
↳241 QDP
↳242 QDPOrderProof (⇔)
↳243 QDP
↳244 QDPOrderProof (⇔)
↳245 QDP
↳246 PisEmptyProof (⇔)
↳247 TRUE
↳248 QDP
↳249 QDPOrderProof (⇔)
↳250 QDP
↳251 QDPOrderProof (⇔)
↳252 QDP
↳253 PisEmptyProof (⇔)
↳254 TRUE
↳255 QDP
↳256 QDPOrderProof (⇔)
↳257 QDP
↳258 QDPOrderProof (⇔)
↳259 QDP
↳260 PisEmptyProof (⇔)
↳261 TRUE
↳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 QDPOrderProof (⇔)
↳276 QDP
↳277 QDPOrderProof (⇔)
↳278 QDP
↳279 PisEmptyProof (⇔)
↳280 TRUE
↳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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U92^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U911(X1, X2)
top > active1 > U1023 > isNat1 > tt > U1033 > ok1
top > active1 > U1023 > isNat1 > tt > U1043 > ok1
top > active1 > U1023 > isNat1 > tt > U122 > ok1
top > active1 > U1023 > isNat1 > tt > U132 > ok1
top > active1 > U1023 > isNat1 > tt > U142 > ok1
top > active1 > U1023 > isNat1 > tt > U222 > ok1
top > active1 > U1023 > isNat1 > tt > U323 > ok1
top > active1 > U1023 > isNat1 > tt > U421 > ok1
top > active1 > U1023 > isNat1 > tt > U722 > ok1
top > active1 > U1023 > isNat1 > tt > U833 > U843 > ok1
top > active1 > U1023 > isNat1 > tt > s1 > U1013 > ok1
top > active1 > U1023 > isNat1 > tt > s1 > U212 > ok1
top > active1 > U1023 > isNat1 > tt > s1 > U813 > U823 > ok1
top > active1 > U1023 > isNat1 > tt > U921 > ok1
top > active1 > U1023 > isNat1 > U113 > U122 > ok1
top > active1 > U1023 > isNat1 > U313 > ok1
top > active1 > plus2 > isNat1 > tt > U1033 > ok1
top > active1 > plus2 > isNat1 > tt > U1043 > ok1
top > active1 > plus2 > isNat1 > tt > U122 > ok1
top > active1 > plus2 > isNat1 > tt > U132 > ok1
top > active1 > plus2 > isNat1 > tt > U142 > ok1
top > active1 > plus2 > isNat1 > tt > U222 > ok1
top > active1 > plus2 > isNat1 > tt > U323 > ok1
top > active1 > plus2 > isNat1 > tt > U421 > ok1
top > active1 > plus2 > isNat1 > tt > U722 > ok1
top > active1 > plus2 > isNat1 > tt > U833 > U843 > ok1
top > active1 > plus2 > isNat1 > tt > s1 > U1013 > ok1
top > active1 > plus2 > isNat1 > tt > s1 > U212 > ok1
top > active1 > plus2 > isNat1 > tt > s1 > U813 > U823 > ok1
top > active1 > plus2 > isNat1 > tt > U921 > ok1
top > active1 > plus2 > isNat1 > U113 > U122 > ok1
top > active1 > plus2 > isNat1 > U313 > ok1
top > active1 > plus2 > U412 > ok1
top > active1 > x2 > isNat1 > tt > U1033 > ok1
top > active1 > x2 > isNat1 > tt > U1043 > ok1
top > active1 > x2 > isNat1 > tt > U122 > ok1
top > active1 > x2 > isNat1 > tt > U132 > ok1
top > active1 > x2 > isNat1 > tt > U142 > ok1
top > active1 > x2 > isNat1 > tt > U222 > ok1
top > active1 > x2 > isNat1 > tt > U323 > ok1
top > active1 > x2 > isNat1 > tt > U421 > ok1
top > active1 > x2 > isNat1 > tt > U722 > ok1
top > active1 > x2 > isNat1 > tt > U833 > U843 > ok1
top > active1 > x2 > isNat1 > tt > s1 > U1013 > ok1
top > active1 > x2 > isNat1 > tt > s1 > U212 > ok1
top > active1 > x2 > isNat1 > tt > s1 > U813 > U823 > ok1
top > active1 > x2 > isNat1 > tt > U921 > ok1
top > active1 > x2 > isNat1 > U113 > U122 > ok1
top > active1 > x2 > isNat1 > U313 > ok1
top > active1 > x2 > U611 > ok1
top > active1 > x2 > U912 > U921 > ok1
top > active1 > U342 > ok1
top > active1 > U712 > U722 > ok1
top > active1 > 0 > U912 > U921 > ok1
top > proper1 > U1023 > isNat1 > tt > U1033 > ok1
top > proper1 > U1023 > isNat1 > tt > U1043 > ok1
top > proper1 > U1023 > isNat1 > tt > U122 > ok1
top > proper1 > U1023 > isNat1 > tt > U132 > ok1
top > proper1 > U1023 > isNat1 > tt > U142 > ok1
top > proper1 > U1023 > isNat1 > tt > U222 > ok1
top > proper1 > U1023 > isNat1 > tt > U323 > ok1
top > proper1 > U1023 > isNat1 > tt > U421 > ok1
top > proper1 > U1023 > isNat1 > tt > U722 > ok1
top > proper1 > U1023 > isNat1 > tt > U833 > U843 > ok1
top > proper1 > U1023 > isNat1 > tt > s1 > U1013 > ok1
top > proper1 > U1023 > isNat1 > tt > s1 > U212 > ok1
top > proper1 > U1023 > isNat1 > tt > s1 > U813 > U823 > ok1
top > proper1 > U1023 > isNat1 > tt > U921 > ok1
top > proper1 > U1023 > isNat1 > U113 > U122 > ok1
top > proper1 > U1023 > isNat1 > U313 > ok1
top > proper1 > plus2 > isNat1 > tt > U1033 > ok1
top > proper1 > plus2 > isNat1 > tt > U1043 > ok1
top > proper1 > plus2 > isNat1 > tt > U122 > ok1
top > proper1 > plus2 > isNat1 > tt > U132 > ok1
top > proper1 > plus2 > isNat1 > tt > U142 > ok1
top > proper1 > plus2 > isNat1 > tt > U222 > ok1
top > proper1 > plus2 > isNat1 > tt > U323 > ok1
top > proper1 > plus2 > isNat1 > tt > U421 > ok1
top > proper1 > plus2 > isNat1 > tt > U722 > ok1
top > proper1 > plus2 > isNat1 > tt > U833 > U843 > ok1
top > proper1 > plus2 > isNat1 > tt > s1 > U1013 > ok1
top > proper1 > plus2 > isNat1 > tt > s1 > U212 > ok1
top > proper1 > plus2 > isNat1 > tt > s1 > U813 > U823 > ok1
top > proper1 > plus2 > isNat1 > tt > U921 > ok1
top > proper1 > plus2 > isNat1 > U113 > U122 > ok1
top > proper1 > plus2 > isNat1 > U313 > ok1
top > proper1 > plus2 > U412 > ok1
top > proper1 > x2 > isNat1 > tt > U1033 > ok1
top > proper1 > x2 > isNat1 > tt > U1043 > ok1
top > proper1 > x2 > isNat1 > tt > U122 > ok1
top > proper1 > x2 > isNat1 > tt > U132 > ok1
top > proper1 > x2 > isNat1 > tt > U142 > ok1
top > proper1 > x2 > isNat1 > tt > U222 > ok1
top > proper1 > x2 > isNat1 > tt > U323 > ok1
top > proper1 > x2 > isNat1 > tt > U421 > ok1
top > proper1 > x2 > isNat1 > tt > U722 > ok1
top > proper1 > x2 > isNat1 > tt > U833 > U843 > ok1
top > proper1 > x2 > isNat1 > tt > s1 > U1013 > ok1
top > proper1 > x2 > isNat1 > tt > s1 > U212 > ok1
top > proper1 > x2 > isNat1 > tt > s1 > U813 > U823 > ok1
top > proper1 > x2 > isNat1 > tt > U921 > ok1
top > proper1 > x2 > isNat1 > U113 > U122 > ok1
top > proper1 > x2 > isNat1 > U313 > ok1
top > proper1 > x2 > U611 > ok1
top > proper1 > x2 > U912 > U921 > ok1
top > proper1 > U342 > ok1
top > proper1 > U712 > U722 > ok1
top > proper1 > 0 > U912 > U921 > ok1
U91^11: [1]
ok1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
U1033: [2,3,1]
isNat1: [1]
U1043: [3,2,1]
plus2: [2,1]
x2: [2,1]
U113: [3,2,1]
U122: [2,1]
U132: [1,2]
U142: [1,2]
U212: [1,2]
U222: [2,1]
U313: [3,1,2]
U323: [2,3,1]
U342: [1,2]
U412: [1,2]
U421: [1]
U611: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [3,2,1]
U833: [3,1,2]
U843: [1,2,3]
s1: [1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1013 > U1023 > isNat1 > U212 > isNatKind > mark1
active1 > U1013 > U1023 > isNat1 > U212 > isNatKind > tt > 0
active1 > U1033 > isNatKind > mark1
active1 > U1033 > isNatKind > tt > 0
active1 > U1033 > U1043 > mark1
active1 > x2 > U313 > U323 > U333 > U343 > isNat1 > U212 > isNatKind > mark1
active1 > x2 > U313 > U323 > U333 > U343 > isNat1 > U212 > isNatKind > tt > 0
active1 > U133 > isNatKind > mark1
active1 > U133 > isNatKind > tt > 0
active1 > U143 > isNat1 > U212 > isNatKind > mark1
active1 > U143 > isNat1 > U212 > isNatKind > tt > 0
active1 > U143 > U152 > mark1
active1 > U222 > mark1
active1 > U231 > mark1
active1 > U231 > tt > 0
active1 > U352 > isNat1 > U212 > isNatKind > mark1
active1 > U352 > isNat1 > U212 > isNatKind > tt > 0
active1 > U361 > mark1
active1 > U361 > tt > 0
active1 > U411 > isNatKind > mark1
active1 > U411 > isNatKind > tt > 0
active1 > U411 > U421 > mark1
active1 > U411 > U421 > tt > 0
active1 > U611 > isNatKind > mark1
active1 > U611 > isNatKind > tt > 0
active1 > U621 > mark1
active1 > U621 > tt > 0
active1 > U712 > isNatKind > mark1
active1 > U712 > isNatKind > tt > 0
active1 > U712 > U722 > mark1
active1 > U823 > isNat1 > U212 > isNatKind > mark1
active1 > U823 > isNat1 > U212 > isNatKind > tt > 0
active1 > U833 > isNatKind > mark1
active1 > U833 > isNatKind > tt > 0
active1 > U843 > plus2 > isNat1 > U212 > isNatKind > mark1
active1 > U843 > plus2 > isNat1 > U212 > isNatKind > tt > 0
active1 > U843 > plus2 > U113 > U123 > isNatKind > mark1
active1 > U843 > plus2 > U113 > U123 > isNatKind > tt > 0
active1 > U843 > plus2 > U813 > isNatKind > mark1
active1 > U843 > plus2 > U813 > isNatKind > tt > 0
active1 > U843 > s1 > isNat1 > U212 > isNatKind > mark1
active1 > U843 > s1 > isNat1 > U212 > isNatKind > tt > 0
active1 > U843 > s1 > U511 > mark1
active1 > U843 > s1 > U511 > tt > 0
active1 > U843 > s1 > U813 > isNatKind > mark1
active1 > U843 > s1 > U813 > isNatKind > tt > 0
proper1 > U1013 > U1023 > isNat1 > U212 > isNatKind > mark1
proper1 > U1013 > U1023 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U1033 > isNatKind > mark1
proper1 > U1033 > isNatKind > tt > 0
proper1 > U1033 > U1043 > mark1
proper1 > x2 > U313 > U323 > U333 > U343 > isNat1 > U212 > isNatKind > mark1
proper1 > x2 > U313 > U323 > U333 > U343 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U133 > isNatKind > mark1
proper1 > U133 > isNatKind > tt > 0
proper1 > U143 > isNat1 > U212 > isNatKind > mark1
proper1 > U143 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U143 > U152 > mark1
proper1 > U222 > mark1
proper1 > U231 > mark1
proper1 > U231 > tt > 0
proper1 > U352 > isNat1 > U212 > isNatKind > mark1
proper1 > U352 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U361 > mark1
proper1 > U361 > tt > 0
proper1 > U411 > isNatKind > mark1
proper1 > U411 > isNatKind > tt > 0
proper1 > U411 > U421 > mark1
proper1 > U411 > U421 > tt > 0
proper1 > U611 > isNatKind > mark1
proper1 > U611 > isNatKind > tt > 0
proper1 > U621 > mark1
proper1 > U621 > tt > 0
proper1 > U712 > isNatKind > mark1
proper1 > U712 > isNatKind > tt > 0
proper1 > U712 > U722 > mark1
proper1 > U823 > isNat1 > U212 > isNatKind > mark1
proper1 > U823 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U833 > isNatKind > mark1
proper1 > U833 > isNatKind > tt > 0
proper1 > U843 > plus2 > isNat1 > U212 > isNatKind > mark1
proper1 > U843 > plus2 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U843 > plus2 > U113 > U123 > isNatKind > mark1
proper1 > U843 > plus2 > U113 > U123 > isNatKind > tt > 0
proper1 > U843 > plus2 > U813 > isNatKind > mark1
proper1 > U843 > plus2 > U813 > isNatKind > tt > 0
proper1 > U843 > s1 > isNat1 > U212 > isNatKind > mark1
proper1 > U843 > s1 > isNat1 > U212 > isNatKind > tt > 0
proper1 > U843 > s1 > U511 > mark1
proper1 > U843 > s1 > U511 > tt > 0
proper1 > U843 > s1 > U813 > isNatKind > mark1
proper1 > U843 > s1 > U813 > isNatKind > tt > 0
U91^11: [1]
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [1,2,3]
isNat1: [1]
U1043: [1,3,2]
plus2: [1,2]
x2: [2,1]
U113: [3,2,1]
U123: [1,3,2]
U133: [1,2,3]
U143: [1,3,2]
U152: [1,2]
U212: [1,2]
U222: [2,1]
U231: [1]
U313: [1,3,2]
U323: [2,3,1]
U333: [1,3,2]
U343: [1,3,2]
U352: [2,1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [1,2,3]
U833: [3,2,1]
U843: [3,1,2]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
S1: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1023 > mark1 > U84^11
active1 > U1033 > U1043 > plus2 > mark1 > U84^11
active1 > x2 > U1013 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U411 > U421 > tt > U161 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U411 > U421 > tt > U221 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U411 > U421 > tt > U833 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U411 > U421 > tt > U843 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U511 > tt > U161 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U511 > tt > U221 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U511 > tt > U833 > mark1 > U84^11
active1 > x2 > isNat > isNatKind > U511 > tt > U843 > mark1 > U84^11
active1 > x2 > isNat > U111 > mark1 > U84^11
active1 > x2 > isNat > U211 > U221 > mark1 > U84^11
active1 > x2 > isNat > U311 > mark1 > U84^11
active1 > x2 > U911 > mark1 > U84^11
active1 > U121 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U161 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U221 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U833 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U843 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U511 > tt > U161 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U511 > tt > U221 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U511 > tt > U833 > mark1 > U84^11
active1 > U141 > U151 > isNat > isNatKind > U511 > tt > U843 > mark1 > U84^11
active1 > U141 > U151 > isNat > U111 > mark1 > U84^11
active1 > U141 > U151 > isNat > U211 > U221 > mark1 > U84^11
active1 > U141 > U151 > isNat > U311 > mark1 > U84^11
active1 > U231 > tt > U161 > mark1 > U84^11
active1 > U231 > tt > U221 > mark1 > U84^11
active1 > U231 > tt > U833 > mark1 > U84^11
active1 > U231 > tt > U843 > mark1 > U84^11
active1 > U331 > U341 > U351 > U361 > tt > U161 > mark1 > U84^11
active1 > U331 > U341 > U351 > U361 > tt > U221 > mark1 > U84^11
active1 > U331 > U341 > U351 > U361 > tt > U833 > mark1 > U84^11
active1 > U331 > U341 > U351 > U361 > tt > U843 > mark1 > U84^11
active1 > U621 > tt > U161 > mark1 > U84^11
active1 > U621 > tt > U221 > mark1 > U84^11
active1 > U621 > tt > U833 > mark1 > U84^11
active1 > U621 > tt > U843 > mark1 > U84^11
active1 > U712 > mark1 > U84^11
active1 > U722 > mark1 > U84^11
active1 > U813 > mark1 > U84^11
active1 > U823 > U833 > mark1 > U84^11
active1 > 0 > tt > U161 > mark1 > U84^11
active1 > 0 > tt > U221 > mark1 > U84^11
active1 > 0 > tt > U833 > mark1 > U84^11
active1 > 0 > tt > U843 > mark1 > U84^11
active1 > 0 > U911 > mark1 > U84^11
proper1 > U1023 > mark1 > U84^11
proper1 > U1033 > U1043 > plus2 > mark1 > U84^11
proper1 > x2 > U1013 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U411 > U421 > tt > U161 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U411 > U421 > tt > U221 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U411 > U421 > tt > U833 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U411 > U421 > tt > U843 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U511 > tt > U161 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U511 > tt > U221 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U511 > tt > U833 > mark1 > U84^11
proper1 > x2 > isNat > isNatKind > U511 > tt > U843 > mark1 > U84^11
proper1 > x2 > isNat > U111 > mark1 > U84^11
proper1 > x2 > isNat > U211 > U221 > mark1 > U84^11
proper1 > x2 > isNat > U311 > mark1 > U84^11
proper1 > x2 > U911 > mark1 > U84^11
proper1 > U121 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U161 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U221 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U833 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U411 > U421 > tt > U843 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U511 > tt > U161 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U511 > tt > U221 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U511 > tt > U833 > mark1 > U84^11
proper1 > U141 > U151 > isNat > isNatKind > U511 > tt > U843 > mark1 > U84^11
proper1 > U141 > U151 > isNat > U111 > mark1 > U84^11
proper1 > U141 > U151 > isNat > U211 > U221 > mark1 > U84^11
proper1 > U141 > U151 > isNat > U311 > mark1 > U84^11
proper1 > U231 > tt > U161 > mark1 > U84^11
proper1 > U231 > tt > U221 > mark1 > U84^11
proper1 > U231 > tt > U833 > mark1 > U84^11
proper1 > U231 > tt > U843 > mark1 > U84^11
proper1 > U331 > U341 > U351 > U361 > tt > U161 > mark1 > U84^11
proper1 > U331 > U341 > U351 > U361 > tt > U221 > mark1 > U84^11
proper1 > U331 > U341 > U351 > U361 > tt > U833 > mark1 > U84^11
proper1 > U331 > U341 > U351 > U361 > tt > U843 > mark1 > U84^11
proper1 > U621 > tt > U161 > mark1 > U84^11
proper1 > U621 > tt > U221 > mark1 > U84^11
proper1 > U621 > tt > U833 > mark1 > U84^11
proper1 > U621 > tt > U843 > mark1 > U84^11
proper1 > U712 > mark1 > U84^11
proper1 > U722 > mark1 > U84^11
proper1 > U813 > mark1 > U84^11
proper1 > U823 > U833 > mark1 > U84^11
proper1 > 0 > tt > U161 > mark1 > U84^11
proper1 > 0 > tt > U221 > mark1 > U84^11
proper1 > 0 > tt > U833 > mark1 > U84^11
proper1 > 0 > tt > U843 > mark1 > U84^11
proper1 > 0 > U911 > mark1 > U84^11
U84^11: [1]
mark1: [1]
active1: [1]
U1013: [1,2,3]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [2,3,1]
U833: [3,2,1]
U843: [1,2,3]
U911: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
proper1 > plus2 > isNatKind1 > ok1 > U84^11 > mark
proper1 > plus2 > isNat1 > U311 > ok1 > U84^11 > mark
proper1 > plus2 > U811 > ok1 > U84^11 > mark
proper1 > U121 > ok1 > U84^11 > mark
proper1 > U131 > isNatKind1 > ok1 > U84^11 > mark
proper1 > U161 > tt > isNat1 > U311 > ok1 > U84^11 > mark
proper1 > U161 > tt > U151 > ok1 > U84^11 > mark
proper1 > U161 > tt > U222 > ok1 > U84^11 > mark
proper1 > U161 > tt > U821 > U832 > ok1 > U84^11 > mark
proper1 > U321 > isNatKind1 > ok1 > U84^11 > mark
proper1 > U511 > tt > isNat1 > U311 > ok1 > U84^11 > mark
proper1 > U511 > tt > U151 > ok1 > U84^11 > mark
proper1 > U511 > tt > U222 > ok1 > U84^11 > mark
proper1 > U511 > tt > U821 > U832 > ok1 > U84^11 > mark
proper1 > 0 > tt > isNat1 > U311 > ok1 > U84^11 > mark
proper1 > 0 > tt > U151 > ok1 > U84^11 > mark
proper1 > 0 > tt > U222 > ok1 > U84^11 > mark
proper1 > 0 > tt > U821 > U832 > ok1 > U84^11 > mark
top > mark
U84^11: [1]
ok1: [1]
tt: []
mark: []
isNatKind1: [1]
isNat1: [1]
plus2: [2,1]
U121: [1]
U131: [1]
U151: [1]
U161: [1]
U222: [2,1]
U311: [1]
U321: [1]
U511: [1]
U811: [1]
U821: [1]
U832: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U1013 > U1023 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U612 > mark1 > isNatKind1
top > active1 > U1043 > x2 > U912 > mark1 > isNatKind1
top > active1 > U133 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U143 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U143 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U222 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U222 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U323 > U333 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U352 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U352 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U361 > tt > U1033 > mark1 > isNatKind1
top > active1 > U361 > tt > U152 > mark1 > isNatKind1
top > active1 > U361 > tt > U161 > mark1 > isNatKind1
top > active1 > U361 > tt > U231 > mark1 > isNatKind1
top > active1 > U361 > tt > U333 > mark1 > isNatKind1
top > active1 > U361 > tt > U343 > mark1 > isNatKind1
top > active1 > U361 > tt > U722 > mark1 > isNatKind1
top > active1 > U361 > tt > U921 > mark1 > isNatKind1
top > active1 > U361 > tt > U921 > 0 > isNatKind1
top > active1 > U621 > tt > U1033 > mark1 > isNatKind1
top > active1 > U621 > tt > U152 > mark1 > isNatKind1
top > active1 > U621 > tt > U161 > mark1 > isNatKind1
top > active1 > U621 > tt > U231 > mark1 > isNatKind1
top > active1 > U621 > tt > U333 > mark1 > isNatKind1
top > active1 > U621 > tt > U343 > mark1 > isNatKind1
top > active1 > U621 > tt > U722 > mark1 > isNatKind1
top > active1 > U621 > tt > U921 > mark1 > isNatKind1
top > active1 > U621 > tt > U921 > 0 > isNatKind1
top > active1 > U813 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U823 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U823 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U823 > U833 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U152 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U161 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U231 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U333 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U343 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U722 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U921 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > tt > U921 > 0 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > U212 > mark1 > isNatKind1
top > active1 > U843 > plus2 > isNat1 > U313 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U113 > U123 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U1033 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U152 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U161 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U231 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U333 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U343 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U722 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U921 > mark1 > isNatKind1
top > active1 > U843 > plus2 > U412 > U421 > tt > U921 > 0 > isNatKind1
top > active1 > U843 > plus2 > U712 > U722 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U1013 > U1023 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U612 > mark1 > isNatKind1
top > proper1 > U1043 > x2 > U912 > mark1 > isNatKind1
top > proper1 > U133 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U143 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U143 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U222 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U222 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U323 > U333 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U352 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U352 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U361 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U361 > tt > U152 > mark1 > isNatKind1
top > proper1 > U361 > tt > U161 > mark1 > isNatKind1
top > proper1 > U361 > tt > U231 > mark1 > isNatKind1
top > proper1 > U361 > tt > U333 > mark1 > isNatKind1
top > proper1 > U361 > tt > U343 > mark1 > isNatKind1
top > proper1 > U361 > tt > U722 > mark1 > isNatKind1
top > proper1 > U361 > tt > U921 > mark1 > isNatKind1
top > proper1 > U361 > tt > U921 > 0 > isNatKind1
top > proper1 > U621 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U621 > tt > U152 > mark1 > isNatKind1
top > proper1 > U621 > tt > U161 > mark1 > isNatKind1
top > proper1 > U621 > tt > U231 > mark1 > isNatKind1
top > proper1 > U621 > tt > U333 > mark1 > isNatKind1
top > proper1 > U621 > tt > U343 > mark1 > isNatKind1
top > proper1 > U621 > tt > U722 > mark1 > isNatKind1
top > proper1 > U621 > tt > U921 > mark1 > isNatKind1
top > proper1 > U621 > tt > U921 > 0 > isNatKind1
top > proper1 > U813 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U823 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U823 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U823 > U833 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U152 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U161 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U231 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U333 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U343 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U722 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U921 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > tt > U921 > 0 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > U212 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > isNat1 > U313 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U113 > U123 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U1033 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U152 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U161 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U231 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U333 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U343 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U722 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U921 > mark1 > isNatKind1
top > proper1 > U843 > plus2 > U412 > U421 > tt > U921 > 0 > isNatKind1
top > proper1 > U843 > plus2 > U712 > U722 > mark1 > isNatKind1
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,1,2]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [2,3,1]
plus2: [1,2]
x2: [1,2]
U113: [2,3,1]
U123: [3,2,1]
U133: [1,3,2]
U143: [1,3,2]
U152: [1,2]
U161: [1]
U212: [2,1]
U222: [2,1]
U231: [1]
U313: [2,3,1]
U323: [1,3,2]
U333: [2,3,1]
U343: [2,3,1]
U352: [1,2]
U361: [1]
U412: [2,1]
U421: [1]
U612: [2,1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,2,3]
U823: [3,1,2]
U833: [3,2,1]
U843: [3,2,1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1022 > U1032 > ok1 > U83^11 > mark
active1 > isNatKind1 > tt > ok1 > U83^11 > mark
active1 > U1042 > ok1 > U83^11 > mark
active1 > plus2 > U113 > U122 > ok1 > U83^11 > mark
active1 > plus2 > U811 > U822 > ok1 > U83^11 > mark
active1 > x2 > U1012 > ok1 > U83^11 > mark
active1 > x2 > U912 > ok1 > U83^11 > mark
active1 > U161 > tt > ok1 > U83^11 > mark
active1 > U212 > ok1 > U83^11 > mark
active1 > U341 > ok1 > U83^11 > mark
active1 > U833 > ok1 > U83^11 > mark
active1 > U921 > 0 > tt > ok1 > U83^11 > mark
active1 > U921 > 0 > U912 > ok1 > U83^11 > mark
proper1 > U1022 > U1032 > ok1 > U83^11 > mark
proper1 > isNatKind1 > tt > ok1 > U83^11 > mark
proper1 > U1042 > ok1 > U83^11 > mark
proper1 > plus2 > U113 > U122 > ok1 > U83^11 > mark
proper1 > plus2 > U811 > U822 > ok1 > U83^11 > mark
proper1 > x2 > U1012 > ok1 > U83^11 > mark
proper1 > x2 > U912 > ok1 > U83^11 > mark
proper1 > U161 > tt > ok1 > U83^11 > mark
proper1 > U212 > ok1 > U83^11 > mark
proper1 > U341 > ok1 > U83^11 > mark
proper1 > U833 > ok1 > U83^11 > mark
proper1 > U921 > 0 > tt > ok1 > U83^11 > mark
proper1 > U921 > 0 > U912 > ok1 > U83^11 > mark
top > mark
U83^11: [1]
ok1: [1]
active1: [1]
U1012: [2,1]
tt: []
mark: []
U1022: [2,1]
isNatKind1: [1]
U1032: [1,2]
U1042: [1,2]
plus2: [2,1]
x2: [1,2]
U113: [1,2,3]
U122: [1,2]
U161: [1]
U212: [2,1]
U341: [1]
U811: [1]
U822: [1,2]
U833: [1,3,2]
U912: [1,2]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U821(X1, X2, X3)
proper1 > U141 > active1 > U1022 > ok1
proper1 > U141 > active1 > U1022 > mark
proper1 > U141 > active1 > plus1 > isNat1 > tt
proper1 > U141 > active1 > plus1 > isNat1 > U311 > ok1
proper1 > U141 > active1 > plus1 > isNat1 > U311 > mark
proper1 > U141 > active1 > x1 > isNat1 > tt
proper1 > U141 > active1 > x1 > isNat1 > U311 > ok1
proper1 > U141 > active1 > x1 > isNat1 > U311 > mark
proper1 > U141 > active1 > x1 > U611 > ok1
proper1 > U141 > active1 > x1 > U611 > mark
proper1 > U141 > active1 > x1 > U912 > ok1
proper1 > U141 > active1 > x1 > U912 > mark
proper1 > U141 > active1 > U151 > ok1
proper1 > U141 > active1 > U151 > mark
proper1 > U141 > active1 > U222 > isNat1 > tt
proper1 > U141 > active1 > U222 > isNat1 > U311 > ok1
proper1 > U141 > active1 > U222 > isNat1 > U311 > mark
proper1 > U141 > active1 > U712 > U722 > ok1
proper1 > U141 > active1 > U712 > U722 > mark
proper1 > U141 > active1 > s1 > isNat1 > tt
proper1 > U141 > active1 > s1 > isNat1 > U311 > ok1
proper1 > U141 > active1 > s1 > isNat1 > U311 > mark
proper1 > U331 > active1 > U1022 > ok1
proper1 > U331 > active1 > U1022 > mark
proper1 > U331 > active1 > plus1 > isNat1 > tt
proper1 > U331 > active1 > plus1 > isNat1 > U311 > ok1
proper1 > U331 > active1 > plus1 > isNat1 > U311 > mark
proper1 > U331 > active1 > x1 > isNat1 > tt
proper1 > U331 > active1 > x1 > isNat1 > U311 > ok1
proper1 > U331 > active1 > x1 > isNat1 > U311 > mark
proper1 > U331 > active1 > x1 > U611 > ok1
proper1 > U331 > active1 > x1 > U611 > mark
proper1 > U331 > active1 > x1 > U912 > ok1
proper1 > U331 > active1 > x1 > U912 > mark
proper1 > U331 > active1 > U151 > ok1
proper1 > U331 > active1 > U151 > mark
proper1 > U331 > active1 > U222 > isNat1 > tt
proper1 > U331 > active1 > U222 > isNat1 > U311 > ok1
proper1 > U331 > active1 > U222 > isNat1 > U311 > mark
proper1 > U331 > active1 > U712 > U722 > ok1
proper1 > U331 > active1 > U712 > U722 > mark
proper1 > U331 > active1 > s1 > isNat1 > tt
proper1 > U331 > active1 > s1 > isNat1 > U311 > ok1
proper1 > U331 > active1 > s1 > isNat1 > U311 > mark
proper1 > 0 > isNat1 > tt
proper1 > 0 > isNat1 > U311 > ok1
proper1 > 0 > isNat1 > U311 > mark
proper1 > 0 > U712 > U722 > ok1
proper1 > 0 > U712 > U722 > mark
proper1 > 0 > U912 > ok1
proper1 > 0 > U912 > mark
ok1: [1]
mark: []
active1: [1]
tt: []
U1022: [1,2]
isNat1: [1]
plus1: [1]
x1: [1]
U141: [1]
U151: [1]
U222: [1,2]
U311: [1]
U331: [1]
U611: [1]
U712: [1,2]
U722: [1,2]
s1: [1]
U912: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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)
proper1 > U1043 > plus2 > U813 > mark1
proper1 > x2 > U1013 > U1023 > U1033 > mark1
proper1 > x2 > U1013 > U1023 > isNat > mark1
proper1 > x2 > U1013 > isNatKind > tt > U1033 > mark1
proper1 > x2 > U1013 > isNatKind > tt > isNat > mark1
proper1 > x2 > U1013 > isNatKind > tt > plus2 > U813 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U121 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U131 > U141 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U231 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U321 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U341 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U361 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U421 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U621 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U722 > mark1
proper1 > x2 > U1013 > isNatKind > tt > U843 > mark1
proper1 > x2 > U1013 > isNatKind > U411 > U421 > mark1
proper1 > x2 > U611 > isNatKind > tt > U1033 > mark1
proper1 > x2 > U611 > isNatKind > tt > isNat > mark1
proper1 > x2 > U611 > isNatKind > tt > plus2 > U813 > mark1
proper1 > x2 > U611 > isNatKind > tt > U121 > mark1
proper1 > x2 > U611 > isNatKind > tt > U131 > U141 > mark1
proper1 > x2 > U611 > isNatKind > tt > U231 > mark1
proper1 > x2 > U611 > isNatKind > tt > U321 > mark1
proper1 > x2 > U611 > isNatKind > tt > U341 > mark1
proper1 > x2 > U611 > isNatKind > tt > U361 > mark1
proper1 > x2 > U611 > isNatKind > tt > U421 > mark1
proper1 > x2 > U611 > isNatKind > tt > U621 > mark1
proper1 > x2 > U611 > isNatKind > tt > U722 > mark1
proper1 > x2 > U611 > isNatKind > tt > U843 > mark1
proper1 > x2 > U611 > isNatKind > U411 > U421 > mark1
proper1 > x2 > U911 > isNatKind > tt > U1033 > mark1
proper1 > x2 > U911 > isNatKind > tt > isNat > mark1
proper1 > x2 > U911 > isNatKind > tt > plus2 > U813 > mark1
proper1 > x2 > U911 > isNatKind > tt > U121 > mark1
proper1 > x2 > U911 > isNatKind > tt > U131 > U141 > mark1
proper1 > x2 > U911 > isNatKind > tt > U231 > mark1
proper1 > x2 > U911 > isNatKind > tt > U321 > mark1
proper1 > x2 > U911 > isNatKind > tt > U341 > mark1
proper1 > x2 > U911 > isNatKind > tt > U361 > mark1
proper1 > x2 > U911 > isNatKind > tt > U421 > mark1
proper1 > x2 > U911 > isNatKind > tt > U621 > mark1
proper1 > x2 > U911 > isNatKind > tt > U722 > mark1
proper1 > x2 > U911 > isNatKind > tt > U843 > mark1
proper1 > x2 > U911 > isNatKind > U411 > U421 > mark1
proper1 > x2 > U911 > U921 > mark1
proper1 > U111 > isNatKind > tt > U1033 > mark1
proper1 > U111 > isNatKind > tt > isNat > mark1
proper1 > U111 > isNatKind > tt > plus2 > U813 > mark1
proper1 > U111 > isNatKind > tt > U121 > mark1
proper1 > U111 > isNatKind > tt > U131 > U141 > mark1
proper1 > U111 > isNatKind > tt > U231 > mark1
proper1 > U111 > isNatKind > tt > U321 > mark1
proper1 > U111 > isNatKind > tt > U341 > mark1
proper1 > U111 > isNatKind > tt > U361 > mark1
proper1 > U111 > isNatKind > tt > U421 > mark1
proper1 > U111 > isNatKind > tt > U621 > mark1
proper1 > U111 > isNatKind > tt > U722 > mark1
proper1 > U111 > isNatKind > tt > U843 > mark1
proper1 > U111 > isNatKind > U411 > U421 > mark1
proper1 > U151 > U161 > tt > U1033 > mark1
proper1 > U151 > U161 > tt > isNat > mark1
proper1 > U151 > U161 > tt > plus2 > U813 > mark1
proper1 > U151 > U161 > tt > U121 > mark1
proper1 > U151 > U161 > tt > U131 > U141 > mark1
proper1 > U151 > U161 > tt > U231 > mark1
proper1 > U151 > U161 > tt > U321 > mark1
proper1 > U151 > U161 > tt > U341 > mark1
proper1 > U151 > U161 > tt > U361 > mark1
proper1 > U151 > U161 > tt > U421 > mark1
proper1 > U151 > U161 > tt > U621 > mark1
proper1 > U151 > U161 > tt > U722 > mark1
proper1 > U151 > U161 > tt > U843 > mark1
proper1 > U211 > isNatKind > tt > U1033 > mark1
proper1 > U211 > isNatKind > tt > isNat > mark1
proper1 > U211 > isNatKind > tt > plus2 > U813 > mark1
proper1 > U211 > isNatKind > tt > U121 > mark1
proper1 > U211 > isNatKind > tt > U131 > U141 > mark1
proper1 > U211 > isNatKind > tt > U231 > mark1
proper1 > U211 > isNatKind > tt > U321 > mark1
proper1 > U211 > isNatKind > tt > U341 > mark1
proper1 > U211 > isNatKind > tt > U361 > mark1
proper1 > U211 > isNatKind > tt > U421 > mark1
proper1 > U211 > isNatKind > tt > U621 > mark1
proper1 > U211 > isNatKind > tt > U722 > mark1
proper1 > U211 > isNatKind > tt > U843 > mark1
proper1 > U211 > isNatKind > U411 > U421 > mark1
proper1 > U211 > U221 > isNat > mark1
proper1 > U211 > U221 > U231 > mark1
proper1 > U311 > isNatKind > tt > U1033 > mark1
proper1 > U311 > isNatKind > tt > isNat > mark1
proper1 > U311 > isNatKind > tt > plus2 > U813 > mark1
proper1 > U311 > isNatKind > tt > U121 > mark1
proper1 > U311 > isNatKind > tt > U131 > U141 > mark1
proper1 > U311 > isNatKind > tt > U231 > mark1
proper1 > U311 > isNatKind > tt > U321 > mark1
proper1 > U311 > isNatKind > tt > U341 > mark1
proper1 > U311 > isNatKind > tt > U361 > mark1
proper1 > U311 > isNatKind > tt > U421 > mark1
proper1 > U311 > isNatKind > tt > U621 > mark1
proper1 > U311 > isNatKind > tt > U722 > mark1
proper1 > U311 > isNatKind > tt > U843 > mark1
proper1 > U311 > isNatKind > U411 > U421 > mark1
proper1 > U331 > isNatKind > tt > U1033 > mark1
proper1 > U331 > isNatKind > tt > isNat > mark1
proper1 > U331 > isNatKind > tt > plus2 > U813 > mark1
proper1 > U331 > isNatKind > tt > U121 > mark1
proper1 > U331 > isNatKind > tt > U131 > U141 > mark1
proper1 > U331 > isNatKind > tt > U231 > mark1
proper1 > U331 > isNatKind > tt > U321 > mark1
proper1 > U331 > isNatKind > tt > U341 > mark1
proper1 > U331 > isNatKind > tt > U361 > mark1
proper1 > U331 > isNatKind > tt > U421 > mark1
proper1 > U331 > isNatKind > tt > U621 > mark1
proper1 > U331 > isNatKind > tt > U722 > mark1
proper1 > U331 > isNatKind > tt > U843 > mark1
proper1 > U331 > isNatKind > U411 > U421 > mark1
proper1 > U823 > isNat > mark1
proper1 > U833 > isNatKind > tt > U1033 > mark1
proper1 > U833 > isNatKind > tt > isNat > mark1
proper1 > U833 > isNatKind > tt > plus2 > U813 > mark1
proper1 > U833 > isNatKind > tt > U121 > mark1
proper1 > U833 > isNatKind > tt > U131 > U141 > mark1
proper1 > U833 > isNatKind > tt > U231 > mark1
proper1 > U833 > isNatKind > tt > U321 > mark1
proper1 > U833 > isNatKind > tt > U341 > mark1
proper1 > U833 > isNatKind > tt > U361 > mark1
proper1 > U833 > isNatKind > tt > U421 > mark1
proper1 > U833 > isNatKind > tt > U621 > mark1
proper1 > U833 > isNatKind > tt > U722 > mark1
proper1 > U833 > isNatKind > tt > U843 > mark1
proper1 > U833 > isNatKind > U411 > U421 > mark1
proper1 > s1 > U1013 > U1023 > U1033 > mark1
proper1 > s1 > U1013 > U1023 > isNat > mark1
proper1 > s1 > U1013 > isNatKind > tt > U1033 > mark1
proper1 > s1 > U1013 > isNatKind > tt > isNat > mark1
proper1 > s1 > U1013 > isNatKind > tt > plus2 > U813 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U121 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U131 > U141 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U231 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U321 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U341 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U361 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U421 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U621 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U722 > mark1
proper1 > s1 > U1013 > isNatKind > tt > U843 > mark1
proper1 > s1 > U1013 > isNatKind > U411 > U421 > mark1
proper1 > 0 > U712 > isNatKind > tt > U1033 > mark1
proper1 > 0 > U712 > isNatKind > tt > isNat > mark1
proper1 > 0 > U712 > isNatKind > tt > plus2 > U813 > mark1
proper1 > 0 > U712 > isNatKind > tt > U121 > mark1
proper1 > 0 > U712 > isNatKind > tt > U131 > U141 > mark1
proper1 > 0 > U712 > isNatKind > tt > U231 > mark1
proper1 > 0 > U712 > isNatKind > tt > U321 > mark1
proper1 > 0 > U712 > isNatKind > tt > U341 > mark1
proper1 > 0 > U712 > isNatKind > tt > U361 > mark1
proper1 > 0 > U712 > isNatKind > tt > U421 > mark1
proper1 > 0 > U712 > isNatKind > tt > U621 > mark1
proper1 > 0 > U712 > isNatKind > tt > U722 > mark1
proper1 > 0 > U712 > isNatKind > tt > U843 > mark1
proper1 > 0 > U712 > isNatKind > U411 > U421 > mark1
top > active1 > U1043 > plus2 > U813 > mark1
top > active1 > x2 > U1013 > U1023 > U1033 > mark1
top > active1 > x2 > U1013 > U1023 > isNat > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U1033 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > isNat > mark1
top > active1 > x2 > U1013 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U121 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U131 > U141 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U231 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U321 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U341 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U361 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U421 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U621 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U722 > mark1
top > active1 > x2 > U1013 > isNatKind > tt > U843 > mark1
top > active1 > x2 > U1013 > isNatKind > U411 > U421 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U1033 > mark1
top > active1 > x2 > U611 > isNatKind > tt > isNat > mark1
top > active1 > x2 > U611 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U121 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U131 > U141 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U231 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U321 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U341 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U361 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U421 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U621 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U722 > mark1
top > active1 > x2 > U611 > isNatKind > tt > U843 > mark1
top > active1 > x2 > U611 > isNatKind > U411 > U421 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U1033 > mark1
top > active1 > x2 > U911 > isNatKind > tt > isNat > mark1
top > active1 > x2 > U911 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U121 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U131 > U141 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U231 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U321 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U341 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U361 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U421 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U621 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U722 > mark1
top > active1 > x2 > U911 > isNatKind > tt > U843 > mark1
top > active1 > x2 > U911 > isNatKind > U411 > U421 > mark1
top > active1 > x2 > U911 > U921 > mark1
top > active1 > U111 > isNatKind > tt > U1033 > mark1
top > active1 > U111 > isNatKind > tt > isNat > mark1
top > active1 > U111 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > U111 > isNatKind > tt > U121 > mark1
top > active1 > U111 > isNatKind > tt > U131 > U141 > mark1
top > active1 > U111 > isNatKind > tt > U231 > mark1
top > active1 > U111 > isNatKind > tt > U321 > mark1
top > active1 > U111 > isNatKind > tt > U341 > mark1
top > active1 > U111 > isNatKind > tt > U361 > mark1
top > active1 > U111 > isNatKind > tt > U421 > mark1
top > active1 > U111 > isNatKind > tt > U621 > mark1
top > active1 > U111 > isNatKind > tt > U722 > mark1
top > active1 > U111 > isNatKind > tt > U843 > mark1
top > active1 > U111 > isNatKind > U411 > U421 > mark1
top > active1 > U151 > U161 > tt > U1033 > mark1
top > active1 > U151 > U161 > tt > isNat > mark1
top > active1 > U151 > U161 > tt > plus2 > U813 > mark1
top > active1 > U151 > U161 > tt > U121 > mark1
top > active1 > U151 > U161 > tt > U131 > U141 > mark1
top > active1 > U151 > U161 > tt > U231 > mark1
top > active1 > U151 > U161 > tt > U321 > mark1
top > active1 > U151 > U161 > tt > U341 > mark1
top > active1 > U151 > U161 > tt > U361 > mark1
top > active1 > U151 > U161 > tt > U421 > mark1
top > active1 > U151 > U161 > tt > U621 > mark1
top > active1 > U151 > U161 > tt > U722 > mark1
top > active1 > U151 > U161 > tt > U843 > mark1
top > active1 > U211 > isNatKind > tt > U1033 > mark1
top > active1 > U211 > isNatKind > tt > isNat > mark1
top > active1 > U211 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > U211 > isNatKind > tt > U121 > mark1
top > active1 > U211 > isNatKind > tt > U131 > U141 > mark1
top > active1 > U211 > isNatKind > tt > U231 > mark1
top > active1 > U211 > isNatKind > tt > U321 > mark1
top > active1 > U211 > isNatKind > tt > U341 > mark1
top > active1 > U211 > isNatKind > tt > U361 > mark1
top > active1 > U211 > isNatKind > tt > U421 > mark1
top > active1 > U211 > isNatKind > tt > U621 > mark1
top > active1 > U211 > isNatKind > tt > U722 > mark1
top > active1 > U211 > isNatKind > tt > U843 > mark1
top > active1 > U211 > isNatKind > U411 > U421 > mark1
top > active1 > U211 > U221 > isNat > mark1
top > active1 > U211 > U221 > U231 > mark1
top > active1 > U311 > isNatKind > tt > U1033 > mark1
top > active1 > U311 > isNatKind > tt > isNat > mark1
top > active1 > U311 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > U311 > isNatKind > tt > U121 > mark1
top > active1 > U311 > isNatKind > tt > U131 > U141 > mark1
top > active1 > U311 > isNatKind > tt > U231 > mark1
top > active1 > U311 > isNatKind > tt > U321 > mark1
top > active1 > U311 > isNatKind > tt > U341 > mark1
top > active1 > U311 > isNatKind > tt > U361 > mark1
top > active1 > U311 > isNatKind > tt > U421 > mark1
top > active1 > U311 > isNatKind > tt > U621 > mark1
top > active1 > U311 > isNatKind > tt > U722 > mark1
top > active1 > U311 > isNatKind > tt > U843 > mark1
top > active1 > U311 > isNatKind > U411 > U421 > mark1
top > active1 > U331 > isNatKind > tt > U1033 > mark1
top > active1 > U331 > isNatKind > tt > isNat > mark1
top > active1 > U331 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > U331 > isNatKind > tt > U121 > mark1
top > active1 > U331 > isNatKind > tt > U131 > U141 > mark1
top > active1 > U331 > isNatKind > tt > U231 > mark1
top > active1 > U331 > isNatKind > tt > U321 > mark1
top > active1 > U331 > isNatKind > tt > U341 > mark1
top > active1 > U331 > isNatKind > tt > U361 > mark1
top > active1 > U331 > isNatKind > tt > U421 > mark1
top > active1 > U331 > isNatKind > tt > U621 > mark1
top > active1 > U331 > isNatKind > tt > U722 > mark1
top > active1 > U331 > isNatKind > tt > U843 > mark1
top > active1 > U331 > isNatKind > U411 > U421 > mark1
top > active1 > U823 > isNat > mark1
top > active1 > U833 > isNatKind > tt > U1033 > mark1
top > active1 > U833 > isNatKind > tt > isNat > mark1
top > active1 > U833 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > U833 > isNatKind > tt > U121 > mark1
top > active1 > U833 > isNatKind > tt > U131 > U141 > mark1
top > active1 > U833 > isNatKind > tt > U231 > mark1
top > active1 > U833 > isNatKind > tt > U321 > mark1
top > active1 > U833 > isNatKind > tt > U341 > mark1
top > active1 > U833 > isNatKind > tt > U361 > mark1
top > active1 > U833 > isNatKind > tt > U421 > mark1
top > active1 > U833 > isNatKind > tt > U621 > mark1
top > active1 > U833 > isNatKind > tt > U722 > mark1
top > active1 > U833 > isNatKind > tt > U843 > mark1
top > active1 > U833 > isNatKind > U411 > U421 > mark1
top > active1 > s1 > U1013 > U1023 > U1033 > mark1
top > active1 > s1 > U1013 > U1023 > isNat > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U1033 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > isNat > mark1
top > active1 > s1 > U1013 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U121 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U131 > U141 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U231 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U321 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U341 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U361 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U421 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U621 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U722 > mark1
top > active1 > s1 > U1013 > isNatKind > tt > U843 > mark1
top > active1 > s1 > U1013 > isNatKind > U411 > U421 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U1033 > mark1
top > active1 > 0 > U712 > isNatKind > tt > isNat > mark1
top > active1 > 0 > U712 > isNatKind > tt > plus2 > U813 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U121 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U131 > U141 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U231 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U321 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U341 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U361 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U421 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U621 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U722 > mark1
top > active1 > 0 > U712 > isNatKind > tt > U843 > mark1
top > active1 > 0 > U712 > isNatKind > U411 > U421 > mark1
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,3,1]
isNat: []
U1043: [2,1,3]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U361: [1]
U411: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [1,2]
U722: [2,1]
U813: [1,2,3]
U823: [2,1,3]
U833: [2,3,1]
U843: [1,3,2]
s1: [1]
U911: [1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U811(X1, X2, X3)
top > active1 > U1013 > U1022 > U1033 > ok1
top > active1 > U1013 > U1022 > isNat1 > ok1
top > active1 > U113 > ok1
top > active1 > U123 > U131 > U141 > ok1
top > active1 > U151 > isNat1 > ok1
top > active1 > U151 > U161 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U313 > U323 > U332 > ok1
top > active1 > U351 > isNat1 > ok1
top > active1 > U511 > tt > U1022 > U1033 > ok1
top > active1 > U511 > tt > U1022 > isNat1 > ok1
top > active1 > U511 > tt > U1043 > plus2 > ok1
top > active1 > U511 > tt > U1043 > x2 > U611 > ok1
top > active1 > U511 > tt > U141 > ok1
top > active1 > U511 > tt > U161 > ok1
top > active1 > U511 > tt > U323 > U332 > ok1
top > active1 > U511 > tt > U342 > isNat1 > ok1
top > active1 > U511 > tt > U621 > ok1
top > active1 > U511 > tt > U832 > U842 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U711 > ok1
top > active1 > U812 > U822 > isNat1 > ok1
top > active1 > U812 > U822 > U832 > U842 > ok1
top > active1 > s1 > isNat1 > ok1
top > proper1 > U1013 > U1022 > U1033 > ok1
top > proper1 > U1013 > U1022 > isNat1 > ok1
top > proper1 > U113 > ok1
top > proper1 > U123 > U131 > U141 > ok1
top > proper1 > U151 > isNat1 > ok1
top > proper1 > U151 > U161 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U313 > U323 > U332 > ok1
top > proper1 > U351 > isNat1 > ok1
top > proper1 > U511 > tt > U1022 > U1033 > ok1
top > proper1 > U511 > tt > U1022 > isNat1 > ok1
top > proper1 > U511 > tt > U1043 > plus2 > ok1
top > proper1 > U511 > tt > U1043 > x2 > U611 > ok1
top > proper1 > U511 > tt > U141 > ok1
top > proper1 > U511 > tt > U161 > ok1
top > proper1 > U511 > tt > U323 > U332 > ok1
top > proper1 > U511 > tt > U342 > isNat1 > ok1
top > proper1 > U511 > tt > U621 > ok1
top > proper1 > U511 > tt > U832 > U842 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U711 > ok1
top > proper1 > U812 > U822 > isNat1 > ok1
top > proper1 > U812 > U822 > U832 > U842 > ok1
top > proper1 > s1 > isNat1 > ok1
U81^11: [1]
ok1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1022: [2,1]
U1033: [3,2,1]
isNat1: [1]
U1043: [1,3,2]
plus2: [1,2]
x2: [1,2]
U113: [1,2,3]
U123: [1,2,3]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U222: [1,2]
U313: [1,2,3]
U323: [1,2,3]
U332: [1,2]
U342: [1,2]
U351: [1]
U511: [1]
U611: [1]
U621: [1]
U711: [1]
U812: [2,1]
U822: [2,1]
U832: [1,2]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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)
active1 > U1013 > U1023 > mark1 > U81^11
active1 > U1013 > U1023 > mark1 > top
active1 > U1013 > U1023 > isNat
active1 > U1013 > isNatKind
active1 > U1033 > U1043 > plus2 > mark1 > U81^11
active1 > U1033 > U1043 > plus2 > mark1 > top
active1 > U1033 > U1043 > plus2 > isNatKind
active1 > U1033 > U1043 > plus2 > isNat
active1 > U1033 > U1043 > x2 > mark1 > U81^11
active1 > U1033 > U1043 > x2 > mark1 > top
active1 > U1033 > U1043 > x2 > isNatKind
active1 > U1033 > U1043 > x2 > isNat
active1 > U131 > mark1 > U81^11
active1 > U131 > mark1 > top
active1 > U131 > isNatKind
active1 > U151 > U161 > mark1 > U81^11
active1 > U151 > U161 > mark1 > top
active1 > U151 > U161 > tt > isNatKind
active1 > U151 > U161 > tt > isNat
active1 > U231 > mark1 > U81^11
active1 > U231 > mark1 > top
active1 > U231 > tt > isNatKind
active1 > U231 > tt > isNat
active1 > U321 > mark1 > U81^11
active1 > U321 > mark1 > top
active1 > U321 > isNatKind
active1 > U341 > mark1 > U81^11
active1 > U341 > mark1 > top
active1 > U341 > isNat
active1 > U361 > mark1 > U81^11
active1 > U361 > mark1 > top
active1 > U361 > tt > isNatKind
active1 > U361 > tt > isNat
active1 > U411 > U421 > mark1 > U81^11
active1 > U411 > U421 > mark1 > top
active1 > U411 > U421 > tt > isNatKind
active1 > U411 > U421 > tt > isNat
active1 > U511 > mark1 > U81^11
active1 > U511 > mark1 > top
active1 > U511 > tt > isNatKind
active1 > U511 > tt > isNat
active1 > U621 > mark1 > U81^11
active1 > U621 > mark1 > top
active1 > U621 > tt > isNatKind
active1 > U621 > tt > isNat
active1 > U712 > isNatKind
active1 > U712 > U722 > mark1 > U81^11
active1 > U712 > U722 > mark1 > top
active1 > U823 > mark1 > U81^11
active1 > U823 > mark1 > top
active1 > U823 > isNat
active1 > U833 > isNatKind
active1 > U833 > U843 > mark1 > U81^11
active1 > U833 > U843 > mark1 > top
active1 > s1 > isNat
active1 > s1 > U211 > mark1 > U81^11
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind
active1 > s1 > U813 > mark1 > U81^11
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind
active1 > U921 > 0 > tt > isNatKind
active1 > U921 > 0 > tt > isNat
active1 > U921 > 0 > U911 > mark1 > U81^11
active1 > U921 > 0 > U911 > mark1 > top
active1 > U921 > 0 > U911 > isNatKind
U81^11: [1]
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [2,3,1]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [1,2]
U131: [1]
U151: [1]
U161: [1]
U211: [1]
U231: [1]
U321: [1]
U341: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [1,2,3]
U833: [1,2,3]
U843: [1,3,2]
s1: [1]
U911: [1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(mark(X1), X2) → U721(X1, X2)
active1 > U1023 > isNat > tt > U1033 > mark1 > top
active1 > U1023 > isNat > tt > U1033 > isNatKind > top
active1 > U1023 > isNat > tt > U121 > mark1 > top
active1 > U1023 > isNat > tt > U121 > isNatKind > top
active1 > U1023 > isNat > tt > U131 > mark1 > top
active1 > U1023 > isNat > tt > U131 > isNatKind > top
active1 > U1023 > isNat > tt > U161 > mark1 > top
active1 > U1023 > isNat > tt > U722 > mark1 > top
active1 > U1023 > isNat > U311 > U321 > mark1 > top
active1 > U1023 > isNat > U311 > U321 > isNatKind > top
active1 > U1043 > mark1 > top
active1 > plus2 > isNat > tt > U1033 > mark1 > top
active1 > plus2 > isNat > tt > U1033 > isNatKind > top
active1 > plus2 > isNat > tt > U121 > mark1 > top
active1 > plus2 > isNat > tt > U121 > isNatKind > top
active1 > plus2 > isNat > tt > U131 > mark1 > top
active1 > plus2 > isNat > tt > U131 > isNatKind > top
active1 > plus2 > isNat > tt > U161 > mark1 > top
active1 > plus2 > isNat > tt > U722 > mark1 > top
active1 > plus2 > isNat > U311 > U321 > mark1 > top
active1 > plus2 > isNat > U311 > U321 > isNatKind > top
active1 > plus2 > U712 > isNatKind > top
active1 > plus2 > U712 > U722 > mark1 > top
active1 > plus2 > U813 > isNatKind > top
active1 > plus2 > U813 > U823 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > top
active1 > x2 > isNat > tt > U1033 > mark1 > top
active1 > x2 > isNat > tt > U1033 > isNatKind > top
active1 > x2 > isNat > tt > U121 > mark1 > top
active1 > x2 > isNat > tt > U121 > isNatKind > top
active1 > x2 > isNat > tt > U131 > mark1 > top
active1 > x2 > isNat > tt > U131 > isNatKind > top
active1 > x2 > isNat > tt > U161 > mark1 > top
active1 > x2 > isNat > tt > U722 > mark1 > top
active1 > x2 > isNat > U311 > U321 > mark1 > top
active1 > x2 > isNat > U311 > U321 > isNatKind > top
active1 > U231 > tt > U1033 > mark1 > top
active1 > U231 > tt > U1033 > isNatKind > top
active1 > U231 > tt > U121 > mark1 > top
active1 > U231 > tt > U121 > isNatKind > top
active1 > U231 > tt > U131 > mark1 > top
active1 > U231 > tt > U131 > isNatKind > top
active1 > U231 > tt > U161 > mark1 > top
active1 > U231 > tt > U722 > mark1 > top
active1 > U421 > tt > U1033 > mark1 > top
active1 > U421 > tt > U1033 > isNatKind > top
active1 > U421 > tt > U121 > mark1 > top
active1 > U421 > tt > U121 > isNatKind > top
active1 > U421 > tt > U131 > mark1 > top
active1 > U421 > tt > U131 > isNatKind > top
active1 > U421 > tt > U161 > mark1 > top
active1 > U421 > tt > U722 > mark1 > top
active1 > U511 > tt > U1033 > mark1 > top
active1 > U511 > tt > U1033 > isNatKind > top
active1 > U511 > tt > U121 > mark1 > top
active1 > U511 > tt > U121 > isNatKind > top
active1 > U511 > tt > U131 > mark1 > top
active1 > U511 > tt > U131 > isNatKind > top
active1 > U511 > tt > U161 > mark1 > top
active1 > U511 > tt > U722 > mark1 > top
active1 > U611 > U621 > tt > U1033 > mark1 > top
active1 > U611 > U621 > tt > U1033 > isNatKind > top
active1 > U611 > U621 > tt > U121 > mark1 > top
active1 > U611 > U621 > tt > U121 > isNatKind > top
active1 > U611 > U621 > tt > U131 > mark1 > top
active1 > U611 > U621 > tt > U131 > isNatKind > top
active1 > U611 > U621 > tt > U161 > mark1 > top
active1 > U611 > U621 > tt > U722 > mark1 > top
active1 > U833 > mark1 > top
active1 > U833 > isNatKind > top
active1 > U843 > s1 > U1013 > mark1 > top
active1 > U843 > s1 > U1013 > isNatKind > top
active1 > U912 > U921 > 0 > tt > U1033 > mark1 > top
active1 > U912 > U921 > 0 > tt > U1033 > isNatKind > top
active1 > U912 > U921 > 0 > tt > U121 > mark1 > top
active1 > U912 > U921 > 0 > tt > U121 > isNatKind > top
active1 > U912 > U921 > 0 > tt > U131 > mark1 > top
active1 > U912 > U921 > 0 > tt > U131 > isNatKind > top
active1 > U912 > U921 > 0 > tt > U161 > mark1 > top
active1 > U912 > U921 > 0 > tt > U722 > mark1 > top
active1 > U912 > U921 > 0 > U712 > isNatKind > top
active1 > U912 > U921 > 0 > U712 > U722 > mark1 > top
proper1 > U1023 > isNat > tt > U1033 > mark1 > top
proper1 > U1023 > isNat > tt > U1033 > isNatKind > top
proper1 > U1023 > isNat > tt > U121 > mark1 > top
proper1 > U1023 > isNat > tt > U121 > isNatKind > top
proper1 > U1023 > isNat > tt > U131 > mark1 > top
proper1 > U1023 > isNat > tt > U131 > isNatKind > top
proper1 > U1023 > isNat > tt > U161 > mark1 > top
proper1 > U1023 > isNat > tt > U722 > mark1 > top
proper1 > U1023 > isNat > U311 > U321 > mark1 > top
proper1 > U1023 > isNat > U311 > U321 > isNatKind > top
proper1 > U1043 > mark1 > top
proper1 > plus2 > isNat > tt > U1033 > mark1 > top
proper1 > plus2 > isNat > tt > U1033 > isNatKind > top
proper1 > plus2 > isNat > tt > U121 > mark1 > top
proper1 > plus2 > isNat > tt > U121 > isNatKind > top
proper1 > plus2 > isNat > tt > U131 > mark1 > top
proper1 > plus2 > isNat > tt > U131 > isNatKind > top
proper1 > plus2 > isNat > tt > U161 > mark1 > top
proper1 > plus2 > isNat > tt > U722 > mark1 > top
proper1 > plus2 > isNat > U311 > U321 > mark1 > top
proper1 > plus2 > isNat > U311 > U321 > isNatKind > top
proper1 > plus2 > U712 > isNatKind > top
proper1 > plus2 > U712 > U722 > mark1 > top
proper1 > plus2 > U813 > isNatKind > top
proper1 > plus2 > U813 > U823 > mark1 > top
proper1 > x2 > U1013 > mark1 > top
proper1 > x2 > U1013 > isNatKind > top
proper1 > x2 > isNat > tt > U1033 > mark1 > top
proper1 > x2 > isNat > tt > U1033 > isNatKind > top
proper1 > x2 > isNat > tt > U121 > mark1 > top
proper1 > x2 > isNat > tt > U121 > isNatKind > top
proper1 > x2 > isNat > tt > U131 > mark1 > top
proper1 > x2 > isNat > tt > U131 > isNatKind > top
proper1 > x2 > isNat > tt > U161 > mark1 > top
proper1 > x2 > isNat > tt > U722 > mark1 > top
proper1 > x2 > isNat > U311 > U321 > mark1 > top
proper1 > x2 > isNat > U311 > U321 > isNatKind > top
proper1 > U231 > tt > U1033 > mark1 > top
proper1 > U231 > tt > U1033 > isNatKind > top
proper1 > U231 > tt > U121 > mark1 > top
proper1 > U231 > tt > U121 > isNatKind > top
proper1 > U231 > tt > U131 > mark1 > top
proper1 > U231 > tt > U131 > isNatKind > top
proper1 > U231 > tt > U161 > mark1 > top
proper1 > U231 > tt > U722 > mark1 > top
proper1 > U421 > tt > U1033 > mark1 > top
proper1 > U421 > tt > U1033 > isNatKind > top
proper1 > U421 > tt > U121 > mark1 > top
proper1 > U421 > tt > U121 > isNatKind > top
proper1 > U421 > tt > U131 > mark1 > top
proper1 > U421 > tt > U131 > isNatKind > top
proper1 > U421 > tt > U161 > mark1 > top
proper1 > U421 > tt > U722 > mark1 > top
proper1 > U511 > tt > U1033 > mark1 > top
proper1 > U511 > tt > U1033 > isNatKind > top
proper1 > U511 > tt > U121 > mark1 > top
proper1 > U511 > tt > U121 > isNatKind > top
proper1 > U511 > tt > U131 > mark1 > top
proper1 > U511 > tt > U131 > isNatKind > top
proper1 > U511 > tt > U161 > mark1 > top
proper1 > U511 > tt > U722 > mark1 > top
proper1 > U611 > U621 > tt > U1033 > mark1 > top
proper1 > U611 > U621 > tt > U1033 > isNatKind > top
proper1 > U611 > U621 > tt > U121 > mark1 > top
proper1 > U611 > U621 > tt > U121 > isNatKind > top
proper1 > U611 > U621 > tt > U131 > mark1 > top
proper1 > U611 > U621 > tt > U131 > isNatKind > top
proper1 > U611 > U621 > tt > U161 > mark1 > top
proper1 > U611 > U621 > tt > U722 > mark1 > top
proper1 > U833 > mark1 > top
proper1 > U833 > isNatKind > top
proper1 > U843 > s1 > U1013 > mark1 > top
proper1 > U843 > s1 > U1013 > isNatKind > top
proper1 > U912 > U921 > 0 > tt > U1033 > mark1 > top
proper1 > U912 > U921 > 0 > tt > U1033 > isNatKind > top
proper1 > U912 > U921 > 0 > tt > U121 > mark1 > top
proper1 > U912 > U921 > 0 > tt > U121 > isNatKind > top
proper1 > U912 > U921 > 0 > tt > U131 > mark1 > top
proper1 > U912 > U921 > 0 > tt > U131 > isNatKind > top
proper1 > U912 > U921 > 0 > tt > U161 > mark1 > top
proper1 > U912 > U921 > 0 > tt > U722 > mark1 > top
proper1 > U912 > U921 > 0 > U712 > isNatKind > top
proper1 > U912 > U921 > 0 > U712 > U722 > mark1 > top
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,2,3]
isNatKind: []
U1033: [3,2,1]
isNat: []
U1043: [1,3,2]
plus2: [1,2]
x2: [2,1]
U121: [1]
U131: [1]
U161: [1]
U231: [1]
U311: [1]
U321: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [3,2,1]
U833: [3,2,1]
U843: [3,2,1]
s1: [1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
proper1 > U122 > active1 > U1012 > ok1 > mark
proper1 > U122 > active1 > tt > mark
proper1 > U122 > active1 > U1033 > ok1 > mark
proper1 > U122 > active1 > U113 > ok1 > mark
proper1 > U122 > active1 > U152 > ok1 > mark
proper1 > U122 > active1 > U212 > ok1 > mark
proper1 > U122 > active1 > U222 > ok1 > mark
proper1 > U122 > active1 > U612 > ok1 > mark
proper1 > U122 > active1 > U722 > ok1 > mark
proper1 > U122 > active1 > 0 > mark
proper1 > U122 > isNatKind1 > tt > mark
proper1 > U122 > isNatKind1 > U612 > ok1 > mark
proper1 > U131 > active1 > U1012 > ok1 > mark
proper1 > U131 > active1 > tt > mark
proper1 > U131 > active1 > U1033 > ok1 > mark
proper1 > U131 > active1 > U113 > ok1 > mark
proper1 > U131 > active1 > U152 > ok1 > mark
proper1 > U131 > active1 > U212 > ok1 > mark
proper1 > U131 > active1 > U222 > ok1 > mark
proper1 > U131 > active1 > U612 > ok1 > mark
proper1 > U131 > active1 > U722 > ok1 > mark
proper1 > U131 > active1 > 0 > mark
proper1 > U131 > isNatKind1 > tt > mark
proper1 > U131 > isNatKind1 > U612 > ok1 > mark
proper1 > U311 > active1 > U1012 > ok1 > mark
proper1 > U311 > active1 > tt > mark
proper1 > U311 > active1 > U1033 > ok1 > mark
proper1 > U311 > active1 > U113 > ok1 > mark
proper1 > U311 > active1 > U152 > ok1 > mark
proper1 > U311 > active1 > U212 > ok1 > mark
proper1 > U311 > active1 > U222 > ok1 > mark
proper1 > U311 > active1 > U612 > ok1 > mark
proper1 > U311 > active1 > U722 > ok1 > mark
proper1 > U311 > active1 > 0 > mark
proper1 > U311 > isNatKind1 > tt > mark
proper1 > U311 > isNatKind1 > U612 > ok1 > mark
proper1 > U331 > active1 > U1012 > ok1 > mark
proper1 > U331 > active1 > tt > mark
proper1 > U331 > active1 > U1033 > ok1 > mark
proper1 > U331 > active1 > U113 > ok1 > mark
proper1 > U331 > active1 > U152 > ok1 > mark
proper1 > U331 > active1 > U212 > ok1 > mark
proper1 > U331 > active1 > U222 > ok1 > mark
proper1 > U331 > active1 > U612 > ok1 > mark
proper1 > U331 > active1 > U722 > ok1 > mark
proper1 > U331 > active1 > 0 > mark
proper1 > U331 > isNatKind1 > tt > mark
proper1 > U331 > isNatKind1 > U612 > ok1 > mark
proper1 > U812 > isNatKind1 > tt > mark
proper1 > U812 > isNatKind1 > U612 > ok1 > mark
proper1 > U812 > U822 > active1 > U1012 > ok1 > mark
proper1 > U812 > U822 > active1 > tt > mark
proper1 > U812 > U822 > active1 > U1033 > ok1 > mark
proper1 > U812 > U822 > active1 > U113 > ok1 > mark
proper1 > U812 > U822 > active1 > U152 > ok1 > mark
proper1 > U812 > U822 > active1 > U212 > ok1 > mark
proper1 > U812 > U822 > active1 > U222 > ok1 > mark
proper1 > U812 > U822 > active1 > U612 > ok1 > mark
proper1 > U812 > U822 > active1 > U722 > ok1 > mark
proper1 > U812 > U822 > active1 > 0 > mark
top > active1 > U1012 > ok1 > mark
top > active1 > tt > mark
top > active1 > U1033 > ok1 > mark
top > active1 > U113 > ok1 > mark
top > active1 > U152 > ok1 > mark
top > active1 > U212 > ok1 > mark
top > active1 > U222 > ok1 > mark
top > active1 > U612 > ok1 > mark
top > active1 > U722 > ok1 > mark
top > active1 > 0 > mark
ok1: [1]
active1: [1]
U1012: [2,1]
tt: []
mark: []
isNatKind1: [1]
U1033: [2,3,1]
U113: [2,3,1]
U122: [1,2]
U131: [1]
U152: [2,1]
U212: [1,2]
U222: [1,2]
U311: [1]
U331: [1]
U612: [1,2]
U722: [1,2]
U812: [1,2]
U822: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U711(X1, X2)
U71^11 > mark
0 > U911 > isNatKind1 > ok1 > mark
0 > U911 > isNatKind1 > tt > mark
top > proper1 > U1031 > isNatKind1 > ok1 > mark
top > proper1 > U1031 > isNatKind1 > tt > mark
top > proper1 > U1041 > ok1 > mark
top > proper1 > U151 > ok1 > mark
top > proper1 > U212 > isNatKind1 > ok1 > mark
top > proper1 > U212 > isNatKind1 > tt > mark
top > proper1 > U221 > ok1 > mark
top > proper1 > U311 > isNatKind1 > ok1 > mark
top > proper1 > U311 > isNatKind1 > tt > mark
top > proper1 > U321 > isNatKind1 > ok1 > mark
top > proper1 > U321 > isNatKind1 > tt > mark
top > proper1 > U812 > isNatKind1 > ok1 > mark
top > proper1 > U812 > isNatKind1 > tt > mark
top > proper1 > U821 > ok1 > mark
top > proper1 > U842 > ok1 > mark
top > proper1 > U911 > isNatKind1 > ok1 > mark
top > proper1 > U911 > isNatKind1 > tt > mark
U71^11: [1]
ok1: [1]
mark: []
tt: []
isNatKind1: [1]
U1031: [1]
U1041: [1]
U151: [1]
U212: [1,2]
U221: [1]
U311: [1]
U321: [1]
U812: [1,2]
U821: [1]
U842: [1,2]
U911: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > mark1 > top
active1 > U1033 > mark1 > top
active1 > U1033 > isNatKind1
active1 > U1043 > mark1 > top
active1 > plus2 > isNat1 > tt > U231 > mark1 > top
active1 > plus2 > isNat1 > tt > U333 > isNatKind1
active1 > plus2 > isNat1 > tt > U333 > U343 > mark1 > top
active1 > plus2 > isNat1 > tt > U421 > mark1 > top
active1 > plus2 > isNat1 > U113 > U123 > U133 > isNatKind1
active1 > plus2 > isNat1 > U113 > U123 > U133 > U143 > mark1 > top
active1 > plus2 > isNat1 > U212 > isNatKind1
active1 > plus2 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > plus2 > isNat1 > U313 > U323 > U333 > isNatKind1
active1 > plus2 > isNat1 > U313 > U323 > U333 > U343 > mark1 > top
active1 > plus2 > U412 > isNatKind1
active1 > plus2 > U412 > U421 > mark1 > top
active1 > plus2 > U813 > mark1 > top
active1 > plus2 > U813 > isNatKind1
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind1
active1 > x2 > U313 > U323 > U333 > isNatKind1
active1 > x2 > U313 > U323 > U333 > U343 > mark1 > top
active1 > x2 > U612 > mark1 > top
active1 > x2 > U612 > isNatKind1
active1 > U152 > U161 > tt > U231 > mark1 > top
active1 > U152 > U161 > tt > U333 > isNatKind1
active1 > U152 > U161 > tt > U333 > U343 > mark1 > top
active1 > U152 > U161 > tt > U421 > mark1 > top
active1 > U352 > U361 > tt > U231 > mark1 > top
active1 > U352 > U361 > tt > U333 > isNatKind1
active1 > U352 > U361 > tt > U333 > U343 > mark1 > top
active1 > U352 > U361 > tt > U421 > mark1 > top
active1 > U621 > tt > U231 > mark1 > top
active1 > U621 > tt > U333 > isNatKind1
active1 > U621 > tt > U333 > U343 > mark1 > top
active1 > U621 > tt > U421 > mark1 > top
active1 > U712 > isNatKind1
active1 > U712 > U722 > mark1 > top
active1 > U823 > U833 > mark1 > top
active1 > U823 > U833 > isNatKind1
active1 > U843 > mark1 > top
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind1
active1 > s1 > U511 > tt > U231 > mark1 > top
active1 > s1 > U511 > tt > U333 > isNatKind1
active1 > s1 > U511 > tt > U333 > U343 > mark1 > top
active1 > s1 > U511 > tt > U421 > mark1 > top
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind1
active1 > U912 > mark1 > top
active1 > U912 > isNatKind1
active1 > U921 > 0 > tt > U231 > mark1 > top
active1 > U921 > 0 > tt > U333 > isNatKind1
active1 > U921 > 0 > tt > U333 > U343 > mark1 > top
active1 > U921 > 0 > tt > U421 > mark1 > top
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,2,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U113: [3,2,1]
U123: [1,2,3]
U133: [3,2,1]
U143: [1,2,3]
U152: [1,2]
U161: [1]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,3,2]
U343: [1,3,2]
U352: [1,2]
U361: [1]
U412: [1,2]
U421: [1]
U511: [1]
U612: [1,2]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U62^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U611(X1, X2)
U61^11 > mark
0 > U911 > isNatKind1 > ok1 > mark
0 > U911 > isNatKind1 > tt > mark
top > proper1 > U1031 > isNatKind1 > ok1 > mark
top > proper1 > U1031 > isNatKind1 > tt > mark
top > proper1 > U1041 > ok1 > mark
top > proper1 > U151 > ok1 > mark
top > proper1 > U212 > isNatKind1 > ok1 > mark
top > proper1 > U212 > isNatKind1 > tt > mark
top > proper1 > U221 > ok1 > mark
top > proper1 > U311 > isNatKind1 > ok1 > mark
top > proper1 > U311 > isNatKind1 > tt > mark
top > proper1 > U321 > isNatKind1 > ok1 > mark
top > proper1 > U321 > isNatKind1 > tt > mark
top > proper1 > U812 > isNatKind1 > ok1 > mark
top > proper1 > U812 > isNatKind1 > tt > mark
top > proper1 > U821 > ok1 > mark
top > proper1 > U842 > ok1 > mark
top > proper1 > U911 > isNatKind1 > ok1 > mark
top > proper1 > U911 > isNatKind1 > tt > mark
U61^11: [1]
ok1: [1]
mark: []
tt: []
isNatKind1: [1]
U1031: [1]
U1041: [1]
U151: [1]
U212: [1,2]
U221: [1]
U311: [1]
U321: [1]
U812: [1,2]
U821: [1]
U842: [1,2]
U911: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > mark1 > top
active1 > U1033 > mark1 > top
active1 > U1033 > isNatKind1
active1 > U1043 > mark1 > top
active1 > plus2 > isNat1 > tt > U231 > mark1 > top
active1 > plus2 > isNat1 > tt > U333 > isNatKind1
active1 > plus2 > isNat1 > tt > U333 > U343 > mark1 > top
active1 > plus2 > isNat1 > tt > U421 > mark1 > top
active1 > plus2 > isNat1 > U113 > U123 > U133 > isNatKind1
active1 > plus2 > isNat1 > U113 > U123 > U133 > U143 > mark1 > top
active1 > plus2 > isNat1 > U212 > isNatKind1
active1 > plus2 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > plus2 > isNat1 > U313 > U323 > U333 > isNatKind1
active1 > plus2 > isNat1 > U313 > U323 > U333 > U343 > mark1 > top
active1 > plus2 > U412 > isNatKind1
active1 > plus2 > U412 > U421 > mark1 > top
active1 > plus2 > U813 > mark1 > top
active1 > plus2 > U813 > isNatKind1
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind1
active1 > x2 > U313 > U323 > U333 > isNatKind1
active1 > x2 > U313 > U323 > U333 > U343 > mark1 > top
active1 > x2 > U612 > mark1 > top
active1 > x2 > U612 > isNatKind1
active1 > U152 > U161 > tt > U231 > mark1 > top
active1 > U152 > U161 > tt > U333 > isNatKind1
active1 > U152 > U161 > tt > U333 > U343 > mark1 > top
active1 > U152 > U161 > tt > U421 > mark1 > top
active1 > U352 > U361 > tt > U231 > mark1 > top
active1 > U352 > U361 > tt > U333 > isNatKind1
active1 > U352 > U361 > tt > U333 > U343 > mark1 > top
active1 > U352 > U361 > tt > U421 > mark1 > top
active1 > U621 > tt > U231 > mark1 > top
active1 > U621 > tt > U333 > isNatKind1
active1 > U621 > tt > U333 > U343 > mark1 > top
active1 > U621 > tt > U421 > mark1 > top
active1 > U712 > isNatKind1
active1 > U712 > U722 > mark1 > top
active1 > U823 > U833 > mark1 > top
active1 > U823 > U833 > isNatKind1
active1 > U843 > mark1 > top
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind1
active1 > s1 > U511 > tt > U231 > mark1 > top
active1 > s1 > U511 > tt > U333 > isNatKind1
active1 > s1 > U511 > tt > U333 > U343 > mark1 > top
active1 > s1 > U511 > tt > U421 > mark1 > top
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind1
active1 > U912 > mark1 > top
active1 > U912 > isNatKind1
active1 > U921 > 0 > tt > U231 > mark1 > top
active1 > U921 > 0 > tt > U333 > isNatKind1
active1 > U921 > 0 > tt > U333 > U343 > mark1 > top
active1 > U921 > 0 > tt > U421 > mark1 > top
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,2,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U113: [3,2,1]
U123: [1,2,3]
U133: [3,2,1]
U143: [1,2,3]
U152: [1,2]
U161: [1]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,3,2]
U343: [1,3,2]
U352: [1,2]
U361: [1]
U412: [1,2]
U421: [1]
U511: [1]
U612: [1,2]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U51^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U42^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(mark(X1), X2) → U411(X1, X2)
active1 > x2 > isNat > tt > U1023 > mark1
active1 > x2 > isNat > tt > isNatKind > U411 > mark1
active1 > x2 > isNat > tt > isNatKind > U511 > mark1
active1 > x2 > isNat > tt > U1033 > U1043 > plus2 > U712 > mark1
active1 > x2 > isNat > tt > U1033 > U1043 > plus2 > U813 > mark1
active1 > x2 > isNat > tt > U141 > mark1
active1 > x2 > isNat > tt > U161 > mark1
active1 > x2 > isNat > tt > U221 > mark1
active1 > x2 > isNat > tt > U331 > mark1
active1 > x2 > isNat > tt > U341 > mark1
active1 > x2 > isNat > tt > U351 > mark1
active1 > x2 > isNat > tt > U823 > mark1
active1 > x2 > isNat > tt > U833 > mark1
active1 > x2 > isNat > tt > s1 > U1013 > mark1
active1 > x2 > isNat > tt > s1 > U813 > mark1
active1 > x2 > isNat > tt > U921 > mark1
active1 > x2 > isNat > tt > 0 > U712 > mark1
active1 > x2 > isNat > U111 > mark1
active1 > x2 > isNat > U211 > mark1
active1 > x2 > isNat > U311 > mark1
active1 > x2 > U912 > isNatKind > U411 > mark1
active1 > x2 > U912 > isNatKind > U511 > mark1
active1 > x2 > U912 > U921 > mark1
active1 > U231 > tt > U1023 > mark1
active1 > U231 > tt > isNatKind > U411 > mark1
active1 > U231 > tt > isNatKind > U511 > mark1
active1 > U231 > tt > U1033 > U1043 > plus2 > U712 > mark1
active1 > U231 > tt > U1033 > U1043 > plus2 > U813 > mark1
active1 > U231 > tt > U141 > mark1
active1 > U231 > tt > U161 > mark1
active1 > U231 > tt > U221 > mark1
active1 > U231 > tt > U331 > mark1
active1 > U231 > tt > U341 > mark1
active1 > U231 > tt > U351 > mark1
active1 > U231 > tt > U823 > mark1
active1 > U231 > tt > U833 > mark1
active1 > U231 > tt > s1 > U1013 > mark1
active1 > U231 > tt > s1 > U813 > mark1
active1 > U231 > tt > U921 > mark1
active1 > U231 > tt > 0 > U712 > mark1
active1 > U361 > tt > U1023 > mark1
active1 > U361 > tt > isNatKind > U411 > mark1
active1 > U361 > tt > isNatKind > U511 > mark1
active1 > U361 > tt > U1033 > U1043 > plus2 > U712 > mark1
active1 > U361 > tt > U1033 > U1043 > plus2 > U813 > mark1
active1 > U361 > tt > U141 > mark1
active1 > U361 > tt > U161 > mark1
active1 > U361 > tt > U221 > mark1
active1 > U361 > tt > U331 > mark1
active1 > U361 > tt > U341 > mark1
active1 > U361 > tt > U351 > mark1
active1 > U361 > tt > U823 > mark1
active1 > U361 > tt > U833 > mark1
active1 > U361 > tt > s1 > U1013 > mark1
active1 > U361 > tt > s1 > U813 > mark1
active1 > U361 > tt > U921 > mark1
active1 > U361 > tt > 0 > U712 > mark1
active1 > U421 > tt > U1023 > mark1
active1 > U421 > tt > isNatKind > U411 > mark1
active1 > U421 > tt > isNatKind > U511 > mark1
active1 > U421 > tt > U1033 > U1043 > plus2 > U712 > mark1
active1 > U421 > tt > U1033 > U1043 > plus2 > U813 > mark1
active1 > U421 > tt > U141 > mark1
active1 > U421 > tt > U161 > mark1
active1 > U421 > tt > U221 > mark1
active1 > U421 > tt > U331 > mark1
active1 > U421 > tt > U341 > mark1
active1 > U421 > tt > U351 > mark1
active1 > U421 > tt > U823 > mark1
active1 > U421 > tt > U833 > mark1
active1 > U421 > tt > s1 > U1013 > mark1
active1 > U421 > tt > s1 > U813 > mark1
active1 > U421 > tt > U921 > mark1
active1 > U421 > tt > 0 > U712 > mark1
active1 > U621 > tt > U1023 > mark1
active1 > U621 > tt > isNatKind > U411 > mark1
active1 > U621 > tt > isNatKind > U511 > mark1
active1 > U621 > tt > U1033 > U1043 > plus2 > U712 > mark1
active1 > U621 > tt > U1033 > U1043 > plus2 > U813 > mark1
active1 > U621 > tt > U141 > mark1
active1 > U621 > tt > U161 > mark1
active1 > U621 > tt > U221 > mark1
active1 > U621 > tt > U331 > mark1
active1 > U621 > tt > U341 > mark1
active1 > U621 > tt > U351 > mark1
active1 > U621 > tt > U823 > mark1
active1 > U621 > tt > U833 > mark1
active1 > U621 > tt > s1 > U1013 > mark1
active1 > U621 > tt > s1 > U813 > mark1
active1 > U621 > tt > U921 > mark1
active1 > U621 > tt > 0 > U712 > mark1
active1 > U722 > mark1
active1 > U843 > plus2 > U712 > mark1
active1 > U843 > plus2 > U813 > mark1
active1 > U843 > s1 > U1013 > mark1
active1 > U843 > s1 > U813 > mark1
U41^12: [2,1]
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [1,2,3]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U141: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [1,2]
U722: [1,2]
U813: [1,2,3]
U823: [1,2,3]
U833: [1,3,2]
U843: [1,3,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
U41^11 > mark
top > proper1 > x2 > U1013 > U1022 > ok1 > mark
top > proper1 > U121 > ok1 > mark
top > proper1 > U161 > ok1 > mark
top > proper1 > U161 > tt > mark
top > proper1 > U231 > ok1 > mark
top > proper1 > U231 > tt > mark
top > proper1 > U312 > ok1 > mark
top > proper1 > U351 > ok1 > mark
top > proper1 > U361 > ok1 > mark
top > proper1 > U361 > tt > mark
top > proper1 > U411 > ok1 > mark
top > proper1 > U421 > ok1 > mark
top > proper1 > U421 > tt > mark
top > proper1 > U621 > ok1 > mark
top > proper1 > U621 > tt > mark
top > proper1 > U711 > ok1 > mark
top > proper1 > s1 > U1013 > U1022 > ok1 > mark
top > proper1 > s1 > U211 > ok1 > mark
top > proper1 > s1 > U511 > ok1 > mark
top > proper1 > s1 > U511 > tt > mark
top > proper1 > U921 > ok1 > mark
top > proper1 > 0 > ok1 > mark
top > proper1 > 0 > tt > mark
U41^11: [1]
ok1: [1]
U1013: [1,3,2]
tt: []
mark: []
U1022: [1,2]
x2: [2,1]
U121: [1]
U161: [1]
U211: [1]
U231: [1]
U312: [1,2]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U711: [1]
s1: [1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U36^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1013 > U1023 > mark1 > top > isNat
active1 > U1013 > isNatKind > isNat
active1 > U1033 > mark1 > top > isNat
active1 > U1033 > isNatKind > isNat
active1 > U1043 > mark1 > top > isNat
active1 > plus2 > mark1 > top > isNat
active1 > plus2 > isNatKind > isNat
active1 > x2 > U311 > mark1 > top > isNat
active1 > x2 > U311 > isNatKind > isNat
active1 > x2 > U912 > mark1 > top > isNat
active1 > x2 > U912 > isNatKind > isNat
active1 > U111 > mark1 > top > isNat
active1 > U111 > isNatKind > isNat
active1 > U121 > mark1 > top > isNat
active1 > U121 > isNatKind > isNat
active1 > U131 > isNatKind > isNat
active1 > U131 > U141 > mark1 > top > isNat
active1 > U151 > U161 > mark1 > top > isNat
active1 > U151 > U161 > tt > 0 > isNat
active1 > U211 > mark1 > top > isNat
active1 > U211 > isNatKind > isNat
active1 > U321 > mark1 > top > isNat
active1 > U321 > isNatKind > isNat
active1 > U341 > U351 > U361 > mark1 > top > isNat
active1 > U341 > U351 > U361 > tt > 0 > isNat
active1 > U411 > mark1 > top > isNat
active1 > U411 > isNatKind > isNat
active1 > U421 > mark1 > top > isNat
active1 > U421 > tt > 0 > isNat
active1 > U611 > isNatKind > isNat
active1 > U611 > U621 > mark1 > top > isNat
active1 > U611 > U621 > tt > 0 > isNat
active1 > U712 > isNatKind > isNat
active1 > U712 > U722 > mark1 > top > isNat
active1 > U813 > mark1 > top > isNat
active1 > U813 > isNatKind > isNat
active1 > U823 > U833 > mark1 > top > isNat
active1 > U823 > U833 > isNatKind > isNat
active1 > U843 > mark1 > top > isNat
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [2,3,1]
isNat: []
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U311: [1]
U321: [1]
U341: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [2,1,3]
U823: [1,2,3]
U833: [1,2,3]
U843: [1,3,2]
U912: [2,1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > tt > isNat1 > ok1 > top > mark
proper1 > tt > U231 > ok1 > top > mark
proper1 > tt > U831 > ok1 > top > mark
proper1 > tt > U841 > ok1 > top > mark
proper1 > tt > s1 > ok1 > top > mark
proper1 > tt > 0 > mark
proper1 > U1022 > isNat1 > ok1 > top > mark
proper1 > U822 > isNat1 > ok1 > top > mark
proper1 > U822 > U831 > ok1 > top > mark
ok1: [1]
tt: []
mark: []
U1022: [1,2]
isNat1: [1]
U231: [1]
U822: [2,1]
U831: [1]
U841: [1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > mark1
active1 > U1023 > U1033 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > plus2 > U813 > mark1
active1 > U1023 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > U133 > mark1
active1 > U1023 > isNat1 > tt > U133 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > U152 > ok1
active1 > U1023 > isNat1 > tt > U152 > mark1
active1 > U1023 > isNat1 > tt > U823 > ok1
active1 > U1023 > isNat1 > tt > U823 > mark1
active1 > U1023 > isNat1 > U113 > U123 > U133 > mark1
active1 > U1023 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
active1 > U1023 > isNat1 > U212 > mark1
active1 > U1023 > isNat1 > U212 > isNatKind1 > ok1
active1 > U1023 > isNat1 > U313 > mark1
active1 > U1023 > isNat1 > U313 > isNatKind1 > ok1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > plus2 > U813 > isNatKind1 > ok1
active1 > x2 > U1013 > mark1
active1 > x2 > U1013 > isNatKind1 > ok1
active1 > x2 > U313 > mark1
active1 > x2 > U313 > isNatKind1 > ok1
active1 > x2 > U912 > mark1
active1 > x2 > U912 > isNatKind1 > ok1
active1 > U143 > U152 > ok1
active1 > U143 > U152 > mark1
active1 > U222 > U231 > tt > plus2 > U813 > mark1
active1 > U222 > U231 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U222 > U231 > tt > U133 > mark1
active1 > U222 > U231 > tt > U133 > isNatKind1 > ok1
active1 > U222 > U231 > tt > U152 > ok1
active1 > U222 > U231 > tt > U152 > mark1
active1 > U222 > U231 > tt > U823 > ok1
active1 > U222 > U231 > tt > U823 > mark1
active1 > U323 > U333 > mark1
active1 > U323 > U333 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > plus2 > U813 > mark1
active1 > U343 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > U133 > mark1
active1 > U343 > isNat1 > tt > U133 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > U152 > ok1
active1 > U343 > isNat1 > tt > U152 > mark1
active1 > U343 > isNat1 > tt > U823 > ok1
active1 > U343 > isNat1 > tt > U823 > mark1
active1 > U343 > isNat1 > U113 > U123 > U133 > mark1
active1 > U343 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
active1 > U343 > isNat1 > U212 > mark1
active1 > U343 > isNat1 > U212 > isNatKind1 > ok1
active1 > U343 > isNat1 > U313 > mark1
active1 > U343 > isNat1 > U313 > isNatKind1 > ok1
active1 > U343 > U352 > ok1
active1 > U343 > U352 > mark1
active1 > U361 > tt > plus2 > U813 > mark1
active1 > U361 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U361 > tt > U133 > mark1
active1 > U361 > tt > U133 > isNatKind1 > ok1
active1 > U361 > tt > U152 > ok1
active1 > U361 > tt > U152 > mark1
active1 > U361 > tt > U823 > ok1
active1 > U361 > tt > U823 > mark1
active1 > U412 > mark1
active1 > U412 > isNatKind1 > ok1
active1 > U612 > mark1
active1 > U612 > isNatKind1 > ok1
active1 > U722 > ok1
active1 > U722 > mark1
active1 > U833 > mark1
active1 > U833 > isNatKind1 > ok1
active1 > U843 > plus2 > U813 > mark1
active1 > U843 > plus2 > U813 > isNatKind1 > ok1
active1 > U843 > s1 > U813 > mark1
active1 > U843 > s1 > U813 > isNatKind1 > ok1
active1 > 0 > tt > plus2 > U813 > mark1
active1 > 0 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > 0 > tt > U133 > mark1
active1 > 0 > tt > U133 > isNatKind1 > ok1
active1 > 0 > tt > U152 > ok1
active1 > 0 > tt > U152 > mark1
active1 > 0 > tt > U823 > ok1
active1 > 0 > tt > U823 > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U712 > isNatKind1 > ok1
active1 > 0 > U912 > mark1
active1 > 0 > U912 > isNatKind1 > ok1
proper1 > U1023 > U1033 > mark1
proper1 > U1023 > U1033 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > plus2 > U813 > mark1
proper1 > U1023 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > U133 > mark1
proper1 > U1023 > isNat1 > tt > U133 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > U152 > ok1
proper1 > U1023 > isNat1 > tt > U152 > mark1
proper1 > U1023 > isNat1 > tt > U823 > ok1
proper1 > U1023 > isNat1 > tt > U823 > mark1
proper1 > U1023 > isNat1 > U113 > U123 > U133 > mark1
proper1 > U1023 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > U212 > mark1
proper1 > U1023 > isNat1 > U212 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > U313 > mark1
proper1 > U1023 > isNat1 > U313 > isNatKind1 > ok1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > plus2 > U813 > isNatKind1 > ok1
proper1 > x2 > U1013 > mark1
proper1 > x2 > U1013 > isNatKind1 > ok1
proper1 > x2 > U313 > mark1
proper1 > x2 > U313 > isNatKind1 > ok1
proper1 > x2 > U912 > mark1
proper1 > x2 > U912 > isNatKind1 > ok1
proper1 > U143 > U152 > ok1
proper1 > U143 > U152 > mark1
proper1 > U222 > U231 > tt > plus2 > U813 > mark1
proper1 > U222 > U231 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U222 > U231 > tt > U133 > mark1
proper1 > U222 > U231 > tt > U133 > isNatKind1 > ok1
proper1 > U222 > U231 > tt > U152 > ok1
proper1 > U222 > U231 > tt > U152 > mark1
proper1 > U222 > U231 > tt > U823 > ok1
proper1 > U222 > U231 > tt > U823 > mark1
proper1 > U323 > U333 > mark1
proper1 > U323 > U333 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > plus2 > U813 > mark1
proper1 > U343 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > U133 > mark1
proper1 > U343 > isNat1 > tt > U133 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > U152 > ok1
proper1 > U343 > isNat1 > tt > U152 > mark1
proper1 > U343 > isNat1 > tt > U823 > ok1
proper1 > U343 > isNat1 > tt > U823 > mark1
proper1 > U343 > isNat1 > U113 > U123 > U133 > mark1
proper1 > U343 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
proper1 > U343 > isNat1 > U212 > mark1
proper1 > U343 > isNat1 > U212 > isNatKind1 > ok1
proper1 > U343 > isNat1 > U313 > mark1
proper1 > U343 > isNat1 > U313 > isNatKind1 > ok1
proper1 > U343 > U352 > ok1
proper1 > U343 > U352 > mark1
proper1 > U361 > tt > plus2 > U813 > mark1
proper1 > U361 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U361 > tt > U133 > mark1
proper1 > U361 > tt > U133 > isNatKind1 > ok1
proper1 > U361 > tt > U152 > ok1
proper1 > U361 > tt > U152 > mark1
proper1 > U361 > tt > U823 > ok1
proper1 > U361 > tt > U823 > mark1
proper1 > U412 > mark1
proper1 > U412 > isNatKind1 > ok1
proper1 > U612 > mark1
proper1 > U612 > isNatKind1 > ok1
proper1 > U722 > ok1
proper1 > U722 > mark1
proper1 > U833 > mark1
proper1 > U833 > isNatKind1 > ok1
proper1 > U843 > plus2 > U813 > mark1
proper1 > U843 > plus2 > U813 > isNatKind1 > ok1
proper1 > U843 > s1 > U813 > mark1
proper1 > U843 > s1 > U813 > isNatKind1 > ok1
proper1 > 0 > tt > plus2 > U813 > mark1
proper1 > 0 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > 0 > tt > U133 > mark1
proper1 > 0 > tt > U133 > isNatKind1 > ok1
proper1 > 0 > tt > U152 > ok1
proper1 > 0 > tt > U152 > mark1
proper1 > 0 > tt > U823 > ok1
proper1 > 0 > tt > U823 > mark1
proper1 > 0 > U712 > mark1
proper1 > 0 > U712 > isNatKind1 > ok1
proper1 > 0 > U912 > mark1
proper1 > 0 > U912 > isNatKind1 > ok1
U34^11: [1]
ok1: [1]
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [2,3,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [1,2,3]
plus2: [2,1]
x2: [2,1]
U113: [1,2,3]
U123: [1,2,3]
U133: [1,2,3]
U143: [1,2,3]
U152: [1,2]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [3,2,1]
U333: [2,1,3]
U343: [2,3,1]
U352: [1,2]
U361: [1]
U412: [1,2]
U612: [1,2]
U712: [1,2]
U722: [1,2]
U813: [1,3,2]
U823: [3,2,1]
U833: [3,2,1]
U843: [3,2,1]
s1: [1]
U912: [2,1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1043 > x2 > mark1 > U34^11
active1 > U1043 > x2 > isNatKind > tt > 0
active1 > plus2 > isNat > mark1 > U34^11
active1 > plus2 > isNat > isNatKind > tt > 0
active1 > plus2 > U712 > mark1 > U34^11
active1 > plus2 > U712 > isNatKind > tt > 0
active1 > plus2 > U813 > mark1 > U34^11
active1 > plus2 > U813 > isNatKind > tt > 0
active1 > U151 > U161 > mark1 > U34^11
active1 > U151 > U161 > tt > 0
active1 > U221 > isNat > mark1 > U34^11
active1 > U221 > isNat > isNatKind > tt > 0
active1 > U221 > U231 > mark1 > U34^11
active1 > U221 > U231 > tt > 0
active1 > U321 > mark1 > U34^11
active1 > U321 > isNatKind > tt > 0
active1 > U351 > mark1 > U34^11
active1 > U361 > mark1 > U34^11
active1 > U361 > tt > 0
active1 > U411 > mark1 > U34^11
active1 > U411 > isNatKind > tt > 0
active1 > U421 > mark1 > U34^11
active1 > U421 > tt > 0
active1 > U621 > mark1 > U34^11
active1 > U621 > tt > 0
active1 > U722 > mark1 > U34^11
active1 > U823 > isNat > mark1 > U34^11
active1 > U823 > isNat > isNatKind > tt > 0
active1 > U823 > U833 > mark1 > U34^11
active1 > U823 > U833 > isNatKind > tt > 0
active1 > U843 > mark1 > U34^11
active1 > s1 > U1013 > U1023 > U1033 > mark1 > U34^11
active1 > s1 > U1013 > U1023 > U1033 > isNatKind > tt > 0
active1 > s1 > isNat > mark1 > U34^11
active1 > s1 > isNat > isNatKind > tt > 0
active1 > s1 > U511 > mark1 > U34^11
active1 > s1 > U511 > tt > 0
active1 > s1 > U813 > mark1 > U34^11
active1 > s1 > U813 > isNatKind > tt > 0
active1 > U921 > mark1 > U34^11
active1 > U921 > 0
proper1 > U1043 > x2 > mark1 > U34^11
proper1 > U1043 > x2 > isNatKind > tt > 0
proper1 > plus2 > isNat > mark1 > U34^11
proper1 > plus2 > isNat > isNatKind > tt > 0
proper1 > plus2 > U712 > mark1 > U34^11
proper1 > plus2 > U712 > isNatKind > tt > 0
proper1 > plus2 > U813 > mark1 > U34^11
proper1 > plus2 > U813 > isNatKind > tt > 0
proper1 > U151 > U161 > mark1 > U34^11
proper1 > U151 > U161 > tt > 0
proper1 > U221 > isNat > mark1 > U34^11
proper1 > U221 > isNat > isNatKind > tt > 0
proper1 > U221 > U231 > mark1 > U34^11
proper1 > U221 > U231 > tt > 0
proper1 > U321 > mark1 > U34^11
proper1 > U321 > isNatKind > tt > 0
proper1 > U351 > mark1 > U34^11
proper1 > U361 > mark1 > U34^11
proper1 > U361 > tt > 0
proper1 > U411 > mark1 > U34^11
proper1 > U411 > isNatKind > tt > 0
proper1 > U421 > mark1 > U34^11
proper1 > U421 > tt > 0
proper1 > U621 > mark1 > U34^11
proper1 > U621 > tt > 0
proper1 > U722 > mark1 > U34^11
proper1 > U823 > isNat > mark1 > U34^11
proper1 > U823 > isNat > isNatKind > tt > 0
proper1 > U823 > U833 > mark1 > U34^11
proper1 > U823 > U833 > isNatKind > tt > 0
proper1 > U843 > mark1 > U34^11
proper1 > s1 > U1013 > U1023 > U1033 > mark1 > U34^11
proper1 > s1 > U1013 > U1023 > U1033 > isNatKind > tt > 0
proper1 > s1 > isNat > mark1 > U34^11
proper1 > s1 > isNat > isNatKind > tt > 0
proper1 > s1 > U511 > mark1 > U34^11
proper1 > s1 > U511 > tt > 0
proper1 > s1 > U813 > mark1 > U34^11
proper1 > s1 > U813 > isNatKind > tt > 0
proper1 > U921 > mark1 > U34^11
proper1 > U921 > 0
U34^11: [1]
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [3,2,1]
plus2: [2,1]
x2: [1,2]
U151: [1]
U161: [1]
U221: [1]
U231: [1]
U321: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [1,3,2]
U823: [1,2,3]
U833: [2,3,1]
U843: [1,3,2]
s1: [1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > mark1
active1 > U1023 > U1033 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > plus2 > U813 > mark1
active1 > U1023 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > U133 > mark1
active1 > U1023 > isNat1 > tt > U133 > isNatKind1 > ok1
active1 > U1023 > isNat1 > tt > U152 > ok1
active1 > U1023 > isNat1 > tt > U152 > mark1
active1 > U1023 > isNat1 > tt > U823 > ok1
active1 > U1023 > isNat1 > tt > U823 > mark1
active1 > U1023 > isNat1 > U113 > U123 > U133 > mark1
active1 > U1023 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
active1 > U1023 > isNat1 > U212 > mark1
active1 > U1023 > isNat1 > U212 > isNatKind1 > ok1
active1 > U1023 > isNat1 > U313 > mark1
active1 > U1023 > isNat1 > U313 > isNatKind1 > ok1
active1 > U1043 > plus2 > U813 > mark1
active1 > U1043 > plus2 > U813 > isNatKind1 > ok1
active1 > x2 > U1013 > mark1
active1 > x2 > U1013 > isNatKind1 > ok1
active1 > x2 > U313 > mark1
active1 > x2 > U313 > isNatKind1 > ok1
active1 > x2 > U912 > mark1
active1 > x2 > U912 > isNatKind1 > ok1
active1 > U143 > U152 > ok1
active1 > U143 > U152 > mark1
active1 > U222 > U231 > tt > plus2 > U813 > mark1
active1 > U222 > U231 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U222 > U231 > tt > U133 > mark1
active1 > U222 > U231 > tt > U133 > isNatKind1 > ok1
active1 > U222 > U231 > tt > U152 > ok1
active1 > U222 > U231 > tt > U152 > mark1
active1 > U222 > U231 > tt > U823 > ok1
active1 > U222 > U231 > tt > U823 > mark1
active1 > U323 > U333 > mark1
active1 > U323 > U333 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > plus2 > U813 > mark1
active1 > U343 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > U133 > mark1
active1 > U343 > isNat1 > tt > U133 > isNatKind1 > ok1
active1 > U343 > isNat1 > tt > U152 > ok1
active1 > U343 > isNat1 > tt > U152 > mark1
active1 > U343 > isNat1 > tt > U823 > ok1
active1 > U343 > isNat1 > tt > U823 > mark1
active1 > U343 > isNat1 > U113 > U123 > U133 > mark1
active1 > U343 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
active1 > U343 > isNat1 > U212 > mark1
active1 > U343 > isNat1 > U212 > isNatKind1 > ok1
active1 > U343 > isNat1 > U313 > mark1
active1 > U343 > isNat1 > U313 > isNatKind1 > ok1
active1 > U343 > U352 > ok1
active1 > U343 > U352 > mark1
active1 > U361 > tt > plus2 > U813 > mark1
active1 > U361 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > U361 > tt > U133 > mark1
active1 > U361 > tt > U133 > isNatKind1 > ok1
active1 > U361 > tt > U152 > ok1
active1 > U361 > tt > U152 > mark1
active1 > U361 > tt > U823 > ok1
active1 > U361 > tt > U823 > mark1
active1 > U412 > mark1
active1 > U412 > isNatKind1 > ok1
active1 > U612 > mark1
active1 > U612 > isNatKind1 > ok1
active1 > U722 > ok1
active1 > U722 > mark1
active1 > U833 > mark1
active1 > U833 > isNatKind1 > ok1
active1 > U843 > plus2 > U813 > mark1
active1 > U843 > plus2 > U813 > isNatKind1 > ok1
active1 > U843 > s1 > U813 > mark1
active1 > U843 > s1 > U813 > isNatKind1 > ok1
active1 > 0 > tt > plus2 > U813 > mark1
active1 > 0 > tt > plus2 > U813 > isNatKind1 > ok1
active1 > 0 > tt > U133 > mark1
active1 > 0 > tt > U133 > isNatKind1 > ok1
active1 > 0 > tt > U152 > ok1
active1 > 0 > tt > U152 > mark1
active1 > 0 > tt > U823 > ok1
active1 > 0 > tt > U823 > mark1
active1 > 0 > U712 > mark1
active1 > 0 > U712 > isNatKind1 > ok1
active1 > 0 > U912 > mark1
active1 > 0 > U912 > isNatKind1 > ok1
proper1 > U1023 > U1033 > mark1
proper1 > U1023 > U1033 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > plus2 > U813 > mark1
proper1 > U1023 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > U133 > mark1
proper1 > U1023 > isNat1 > tt > U133 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > tt > U152 > ok1
proper1 > U1023 > isNat1 > tt > U152 > mark1
proper1 > U1023 > isNat1 > tt > U823 > ok1
proper1 > U1023 > isNat1 > tt > U823 > mark1
proper1 > U1023 > isNat1 > U113 > U123 > U133 > mark1
proper1 > U1023 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > U212 > mark1
proper1 > U1023 > isNat1 > U212 > isNatKind1 > ok1
proper1 > U1023 > isNat1 > U313 > mark1
proper1 > U1023 > isNat1 > U313 > isNatKind1 > ok1
proper1 > U1043 > plus2 > U813 > mark1
proper1 > U1043 > plus2 > U813 > isNatKind1 > ok1
proper1 > x2 > U1013 > mark1
proper1 > x2 > U1013 > isNatKind1 > ok1
proper1 > x2 > U313 > mark1
proper1 > x2 > U313 > isNatKind1 > ok1
proper1 > x2 > U912 > mark1
proper1 > x2 > U912 > isNatKind1 > ok1
proper1 > U143 > U152 > ok1
proper1 > U143 > U152 > mark1
proper1 > U222 > U231 > tt > plus2 > U813 > mark1
proper1 > U222 > U231 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U222 > U231 > tt > U133 > mark1
proper1 > U222 > U231 > tt > U133 > isNatKind1 > ok1
proper1 > U222 > U231 > tt > U152 > ok1
proper1 > U222 > U231 > tt > U152 > mark1
proper1 > U222 > U231 > tt > U823 > ok1
proper1 > U222 > U231 > tt > U823 > mark1
proper1 > U323 > U333 > mark1
proper1 > U323 > U333 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > plus2 > U813 > mark1
proper1 > U343 > isNat1 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > U133 > mark1
proper1 > U343 > isNat1 > tt > U133 > isNatKind1 > ok1
proper1 > U343 > isNat1 > tt > U152 > ok1
proper1 > U343 > isNat1 > tt > U152 > mark1
proper1 > U343 > isNat1 > tt > U823 > ok1
proper1 > U343 > isNat1 > tt > U823 > mark1
proper1 > U343 > isNat1 > U113 > U123 > U133 > mark1
proper1 > U343 > isNat1 > U113 > U123 > U133 > isNatKind1 > ok1
proper1 > U343 > isNat1 > U212 > mark1
proper1 > U343 > isNat1 > U212 > isNatKind1 > ok1
proper1 > U343 > isNat1 > U313 > mark1
proper1 > U343 > isNat1 > U313 > isNatKind1 > ok1
proper1 > U343 > U352 > ok1
proper1 > U343 > U352 > mark1
proper1 > U361 > tt > plus2 > U813 > mark1
proper1 > U361 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > U361 > tt > U133 > mark1
proper1 > U361 > tt > U133 > isNatKind1 > ok1
proper1 > U361 > tt > U152 > ok1
proper1 > U361 > tt > U152 > mark1
proper1 > U361 > tt > U823 > ok1
proper1 > U361 > tt > U823 > mark1
proper1 > U412 > mark1
proper1 > U412 > isNatKind1 > ok1
proper1 > U612 > mark1
proper1 > U612 > isNatKind1 > ok1
proper1 > U722 > ok1
proper1 > U722 > mark1
proper1 > U833 > mark1
proper1 > U833 > isNatKind1 > ok1
proper1 > U843 > plus2 > U813 > mark1
proper1 > U843 > plus2 > U813 > isNatKind1 > ok1
proper1 > U843 > s1 > U813 > mark1
proper1 > U843 > s1 > U813 > isNatKind1 > ok1
proper1 > 0 > tt > plus2 > U813 > mark1
proper1 > 0 > tt > plus2 > U813 > isNatKind1 > ok1
proper1 > 0 > tt > U133 > mark1
proper1 > 0 > tt > U133 > isNatKind1 > ok1
proper1 > 0 > tt > U152 > ok1
proper1 > 0 > tt > U152 > mark1
proper1 > 0 > tt > U823 > ok1
proper1 > 0 > tt > U823 > mark1
proper1 > 0 > U712 > mark1
proper1 > 0 > U712 > isNatKind1 > ok1
proper1 > 0 > U912 > mark1
proper1 > 0 > U912 > isNatKind1 > ok1
U33^11: [1]
ok1: [1]
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [2,3,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [1,2,3]
plus2: [2,1]
x2: [2,1]
U113: [1,2,3]
U123: [1,2,3]
U133: [1,2,3]
U143: [1,2,3]
U152: [1,2]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [3,2,1]
U333: [2,1,3]
U343: [2,3,1]
U352: [1,2]
U361: [1]
U412: [1,2]
U612: [1,2]
U712: [1,2]
U722: [1,2]
U813: [1,3,2]
U823: [3,2,1]
U833: [3,2,1]
U843: [3,2,1]
s1: [1]
U912: [2,1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1043 > x2 > mark1 > U33^11
active1 > U1043 > x2 > isNatKind > tt > 0
active1 > plus2 > isNat > mark1 > U33^11
active1 > plus2 > isNat > isNatKind > tt > 0
active1 > plus2 > U712 > mark1 > U33^11
active1 > plus2 > U712 > isNatKind > tt > 0
active1 > plus2 > U813 > mark1 > U33^11
active1 > plus2 > U813 > isNatKind > tt > 0
active1 > U151 > U161 > mark1 > U33^11
active1 > U151 > U161 > tt > 0
active1 > U221 > isNat > mark1 > U33^11
active1 > U221 > isNat > isNatKind > tt > 0
active1 > U221 > U231 > mark1 > U33^11
active1 > U221 > U231 > tt > 0
active1 > U321 > mark1 > U33^11
active1 > U321 > isNatKind > tt > 0
active1 > U351 > mark1 > U33^11
active1 > U361 > mark1 > U33^11
active1 > U361 > tt > 0
active1 > U411 > mark1 > U33^11
active1 > U411 > isNatKind > tt > 0
active1 > U421 > mark1 > U33^11
active1 > U421 > tt > 0
active1 > U621 > mark1 > U33^11
active1 > U621 > tt > 0
active1 > U722 > mark1 > U33^11
active1 > U823 > isNat > mark1 > U33^11
active1 > U823 > isNat > isNatKind > tt > 0
active1 > U823 > U833 > mark1 > U33^11
active1 > U823 > U833 > isNatKind > tt > 0
active1 > U843 > mark1 > U33^11
active1 > s1 > U1013 > U1023 > U1033 > mark1 > U33^11
active1 > s1 > U1013 > U1023 > U1033 > isNatKind > tt > 0
active1 > s1 > isNat > mark1 > U33^11
active1 > s1 > isNat > isNatKind > tt > 0
active1 > s1 > U511 > mark1 > U33^11
active1 > s1 > U511 > tt > 0
active1 > s1 > U813 > mark1 > U33^11
active1 > s1 > U813 > isNatKind > tt > 0
active1 > U921 > mark1 > U33^11
active1 > U921 > 0
proper1 > U1043 > x2 > mark1 > U33^11
proper1 > U1043 > x2 > isNatKind > tt > 0
proper1 > plus2 > isNat > mark1 > U33^11
proper1 > plus2 > isNat > isNatKind > tt > 0
proper1 > plus2 > U712 > mark1 > U33^11
proper1 > plus2 > U712 > isNatKind > tt > 0
proper1 > plus2 > U813 > mark1 > U33^11
proper1 > plus2 > U813 > isNatKind > tt > 0
proper1 > U151 > U161 > mark1 > U33^11
proper1 > U151 > U161 > tt > 0
proper1 > U221 > isNat > mark1 > U33^11
proper1 > U221 > isNat > isNatKind > tt > 0
proper1 > U221 > U231 > mark1 > U33^11
proper1 > U221 > U231 > tt > 0
proper1 > U321 > mark1 > U33^11
proper1 > U321 > isNatKind > tt > 0
proper1 > U351 > mark1 > U33^11
proper1 > U361 > mark1 > U33^11
proper1 > U361 > tt > 0
proper1 > U411 > mark1 > U33^11
proper1 > U411 > isNatKind > tt > 0
proper1 > U421 > mark1 > U33^11
proper1 > U421 > tt > 0
proper1 > U621 > mark1 > U33^11
proper1 > U621 > tt > 0
proper1 > U722 > mark1 > U33^11
proper1 > U823 > isNat > mark1 > U33^11
proper1 > U823 > isNat > isNatKind > tt > 0
proper1 > U823 > U833 > mark1 > U33^11
proper1 > U823 > U833 > isNatKind > tt > 0
proper1 > U843 > mark1 > U33^11
proper1 > s1 > U1013 > U1023 > U1033 > mark1 > U33^11
proper1 > s1 > U1013 > U1023 > U1033 > isNatKind > tt > 0
proper1 > s1 > isNat > mark1 > U33^11
proper1 > s1 > isNat > isNatKind > tt > 0
proper1 > s1 > U511 > mark1 > U33^11
proper1 > s1 > U511 > tt > 0
proper1 > s1 > U813 > mark1 > U33^11
proper1 > s1 > U813 > isNatKind > tt > 0
proper1 > U921 > mark1 > U33^11
proper1 > U921 > 0
U33^11: [1]
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [3,2,1]
plus2: [2,1]
x2: [1,2]
U151: [1]
U161: [1]
U221: [1]
U231: [1]
U321: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [1,3,2]
U823: [1,2,3]
U833: [2,3,1]
U843: [1,3,2]
s1: [1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(mark(X1), X2, X3) → U321(X1, X2, X3)
top > active1 > U1023 > mark1 > isNat
top > active1 > U1033 > mark1 > isNat
top > active1 > U1043 > mark1 > isNat
top > active1 > plus2 > U111 > mark1 > isNat
top > active1 > plus2 > U411 > isNatKind > U511 > mark1 > isNat
top > active1 > plus2 > U411 > isNatKind > U511 > tt > isNat
top > active1 > plus2 > U712 > isNatKind > U511 > mark1 > isNat
top > active1 > plus2 > U712 > isNatKind > U511 > tt > isNat
top > active1 > plus2 > U712 > U722 > mark1 > isNat
top > active1 > plus2 > U813 > mark1 > isNat
top > active1 > x2 > U1013 > mark1 > isNat
top > active1 > x2 > U311 > isNatKind > U511 > mark1 > isNat
top > active1 > x2 > U311 > isNatKind > U511 > tt > isNat
top > active1 > x2 > U912 > mark1 > isNat
top > active1 > U121 > isNatKind > U511 > mark1 > isNat
top > active1 > U121 > isNatKind > U511 > tt > isNat
top > active1 > U121 > U131 > mark1 > isNat
top > active1 > U141 > mark1 > isNat
top > active1 > U161 > mark1 > isNat
top > active1 > U161 > tt > isNat
top > active1 > U331 > mark1 > isNat
top > active1 > U341 > mark1 > isNat
top > active1 > U421 > mark1 > isNat
top > active1 > U421 > tt > isNat
top > active1 > U611 > isNatKind > U511 > mark1 > isNat
top > active1 > U611 > isNatKind > U511 > tt > isNat
top > active1 > U611 > U621 > mark1 > isNat
top > active1 > U611 > U621 > tt > isNat
top > active1 > U823 > U833 > mark1 > isNat
top > active1 > U843 > s1 > U1013 > mark1 > isNat
top > active1 > U843 > s1 > U813 > mark1 > isNat
top > active1 > U921 > mark1 > isNat
top > active1 > U921 > 0 > tt > isNat
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [3,1,2]
plus2: [2,1]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U161: [1]
U311: [1]
U331: [1]
U341: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [1,2,3]
U833: [1,2,3]
U843: [3,2,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > U1043 > ok1
active1 > U1023 > isNat1 > tt > U123 > U133 > ok1
active1 > U1023 > isNat1 > tt > U161 > ok1
active1 > U1023 > isNat1 > tt > U343 > U352 > ok1
active1 > U1023 > isNat1 > tt > s1 > ok1
active1 > U1023 > isNat1 > U112 > U123 > U133 > ok1
active1 > x2 > U1013 > ok1
active1 > x2 > isNat1 > tt > U123 > U133 > ok1
active1 > x2 > isNat1 > tt > U161 > ok1
active1 > x2 > isNat1 > tt > U343 > U352 > ok1
active1 > x2 > isNat1 > tt > s1 > ok1
active1 > x2 > isNat1 > U112 > U123 > U133 > ok1
active1 > x2 > U912 > ok1
active1 > U143 > isNat1 > tt > U123 > U133 > ok1
active1 > U143 > isNat1 > tt > U161 > ok1
active1 > U143 > isNat1 > tt > U343 > U352 > ok1
active1 > U143 > isNat1 > tt > s1 > ok1
active1 > U143 > isNat1 > U112 > U123 > U133 > ok1
active1 > U222 > isNat1 > tt > U123 > U133 > ok1
active1 > U222 > isNat1 > tt > U161 > ok1
active1 > U222 > isNat1 > tt > U343 > U352 > ok1
active1 > U222 > isNat1 > tt > s1 > ok1
active1 > U222 > isNat1 > U112 > U123 > U133 > ok1
active1 > U313 > U323 > ok1
active1 > U333 > U343 > U352 > ok1
active1 > U361 > tt > U123 > U133 > ok1
active1 > U361 > tt > U161 > ok1
active1 > U361 > tt > U343 > U352 > ok1
active1 > U361 > tt > s1 > ok1
active1 > U823 > isNat1 > tt > U123 > U133 > ok1
active1 > U823 > isNat1 > tt > U161 > ok1
active1 > U823 > isNat1 > tt > U343 > U352 > ok1
active1 > U823 > isNat1 > tt > s1 > ok1
active1 > U823 > isNat1 > U112 > U123 > U133 > ok1
active1 > U823 > U833 > ok1
active1 > U843 > plus2 > isNat1 > tt > U123 > U133 > ok1
active1 > U843 > plus2 > isNat1 > tt > U161 > ok1
active1 > U843 > plus2 > isNat1 > tt > U343 > U352 > ok1
active1 > U843 > plus2 > isNat1 > tt > s1 > ok1
active1 > U843 > plus2 > isNat1 > U112 > U123 > U133 > ok1
active1 > U843 > plus2 > U412 > ok1
active1 > U843 > plus2 > U813 > ok1
active1 > U921 > 0 > isNat1 > tt > U123 > U133 > ok1
active1 > U921 > 0 > isNat1 > tt > U161 > ok1
active1 > U921 > 0 > isNat1 > tt > U343 > U352 > ok1
active1 > U921 > 0 > isNat1 > tt > s1 > ok1
active1 > U921 > 0 > isNat1 > U112 > U123 > U133 > ok1
active1 > U921 > 0 > U912 > ok1
proper1 > U1023 > U1033 > U1043 > ok1
proper1 > U1023 > isNat1 > tt > U123 > U133 > ok1
proper1 > U1023 > isNat1 > tt > U161 > ok1
proper1 > U1023 > isNat1 > tt > U343 > U352 > ok1
proper1 > U1023 > isNat1 > tt > s1 > ok1
proper1 > U1023 > isNat1 > U112 > U123 > U133 > ok1
proper1 > x2 > U1013 > ok1
proper1 > x2 > isNat1 > tt > U123 > U133 > ok1
proper1 > x2 > isNat1 > tt > U161 > ok1
proper1 > x2 > isNat1 > tt > U343 > U352 > ok1
proper1 > x2 > isNat1 > tt > s1 > ok1
proper1 > x2 > isNat1 > U112 > U123 > U133 > ok1
proper1 > x2 > U912 > ok1
proper1 > U143 > isNat1 > tt > U123 > U133 > ok1
proper1 > U143 > isNat1 > tt > U161 > ok1
proper1 > U143 > isNat1 > tt > U343 > U352 > ok1
proper1 > U143 > isNat1 > tt > s1 > ok1
proper1 > U143 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U222 > isNat1 > tt > U123 > U133 > ok1
proper1 > U222 > isNat1 > tt > U161 > ok1
proper1 > U222 > isNat1 > tt > U343 > U352 > ok1
proper1 > U222 > isNat1 > tt > s1 > ok1
proper1 > U222 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U313 > U323 > ok1
proper1 > U333 > U343 > U352 > ok1
proper1 > U361 > tt > U123 > U133 > ok1
proper1 > U361 > tt > U161 > ok1
proper1 > U361 > tt > U343 > U352 > ok1
proper1 > U361 > tt > s1 > ok1
proper1 > U823 > isNat1 > tt > U123 > U133 > ok1
proper1 > U823 > isNat1 > tt > U161 > ok1
proper1 > U823 > isNat1 > tt > U343 > U352 > ok1
proper1 > U823 > isNat1 > tt > s1 > ok1
proper1 > U823 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U823 > U833 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U123 > U133 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U161 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U343 > U352 > ok1
proper1 > U843 > plus2 > isNat1 > tt > s1 > ok1
proper1 > U843 > plus2 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U843 > plus2 > U412 > ok1
proper1 > U843 > plus2 > U813 > ok1
proper1 > U921 > 0 > isNat1 > tt > U123 > U133 > ok1
proper1 > U921 > 0 > isNat1 > tt > U161 > ok1
proper1 > U921 > 0 > isNat1 > tt > U343 > U352 > ok1
proper1 > U921 > 0 > isNat1 > tt > s1 > ok1
proper1 > U921 > 0 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U921 > 0 > U912 > ok1
U32^11: [1]
ok1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,3,2]
U1033: [1,3,2]
isNat1: [1]
U1043: [3,1,2]
plus2: [1,2]
x2: [2,1]
U112: [1,2]
U123: [3,2,1]
U133: [1,2,3]
U143: [1,2,3]
U161: [1]
U222: [1,2]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,2,3]
U343: [1,2,3]
U352: [1,2]
U361: [1]
U412: [1,2]
U813: [1,2,3]
U823: [1,2,3]
U833: [3,1,2]
U843: [1,3,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U311(X1, X2, X3)
top > proper1 > U1022 > U1033 > isNatKind1 > ok1 > mark
top > proper1 > U1022 > U1033 > isNatKind1 > tt > 0 > mark
top > proper1 > isNat1 > U111 > isNatKind1 > ok1 > mark
top > proper1 > isNat1 > U111 > isNatKind1 > tt > 0 > mark
top > proper1 > isNat1 > U212 > ok1 > mark
top > proper1 > U131 > isNatKind1 > ok1 > mark
top > proper1 > U131 > isNatKind1 > tt > 0 > mark
top > proper1 > U161 > ok1 > mark
top > proper1 > U161 > tt > 0 > mark
top > proper1 > U222 > ok1 > mark
top > proper1 > U231 > ok1 > mark
top > proper1 > U231 > tt > 0 > mark
top > proper1 > U322 > isNatKind1 > ok1 > mark
top > proper1 > U322 > isNatKind1 > tt > 0 > mark
top > proper1 > U722 > ok1 > mark
top > proper1 > U822 > ok1 > mark
ok1: [1]
mark: []
tt: []
U1022: [1,2]
isNatKind1: [1]
U1033: [2,3,1]
isNat1: [1]
U111: [1]
U131: [1]
U161: [1]
U212: [1,2]
U222: [1,2]
U231: [1]
U322: [1,2]
U722: [1,2]
U822: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > U1033 > mark1 > U31^11
active1 > U1013 > U1023 > isNat > mark1 > U31^11
active1 > U1013 > isNatKind > U411 > mark1 > U31^11
active1 > U1013 > isNatKind > U511 > mark1 > U31^11
active1 > U1013 > isNatKind > U611 > mark1 > U31^11
active1 > U1043 > plus2 > mark1 > U31^11
active1 > U1043 > x2 > mark1 > U31^11
active1 > U111 > mark1 > U31^11
active1 > U141 > isNat > mark1 > U31^11
active1 > U141 > U151 > mark1 > U31^11
active1 > U361 > tt > isNatKind > U411 > mark1 > U31^11
active1 > U361 > tt > isNatKind > U511 > mark1 > U31^11
active1 > U361 > tt > isNatKind > U611 > mark1 > U31^11
active1 > U361 > tt > U1033 > mark1 > U31^11
active1 > U361 > tt > x2 > mark1 > U31^11
active1 > U361 > tt > U151 > mark1 > U31^11
active1 > U361 > tt > U161 > mark1 > U31^11
active1 > U361 > tt > U221 > isNat > mark1 > U31^11
active1 > U361 > tt > U221 > U231 > mark1 > U31^11
active1 > U361 > tt > U321 > mark1 > U31^11
active1 > U361 > tt > U331 > mark1 > U31^11
active1 > U361 > tt > U351 > isNat > mark1 > U31^11
active1 > U361 > tt > U421 > mark1 > U31^11
active1 > U361 > tt > U722 > mark1 > U31^11
active1 > U361 > tt > U823 > isNat > mark1 > U31^11
active1 > U361 > tt > U833 > U843 > plus2 > mark1 > U31^11
active1 > U361 > tt > U833 > U843 > s1 > isNat > mark1 > U31^11
active1 > U361 > tt > U833 > U843 > s1 > U211 > mark1 > U31^11
active1 > U361 > tt > U833 > U843 > s1 > U511 > mark1 > U31^11
active1 > U361 > tt > U921 > mark1 > U31^11
active1 > U813 > mark1 > U31^11
active1 > 0 > tt > isNatKind > U411 > mark1 > U31^11
active1 > 0 > tt > isNatKind > U511 > mark1 > U31^11
active1 > 0 > tt > isNatKind > U611 > mark1 > U31^11
active1 > 0 > tt > U1033 > mark1 > U31^11
active1 > 0 > tt > x2 > mark1 > U31^11
active1 > 0 > tt > U151 > mark1 > U31^11
active1 > 0 > tt > U161 > mark1 > U31^11
active1 > 0 > tt > U221 > isNat > mark1 > U31^11
active1 > 0 > tt > U221 > U231 > mark1 > U31^11
active1 > 0 > tt > U321 > mark1 > U31^11
active1 > 0 > tt > U331 > mark1 > U31^11
active1 > 0 > tt > U351 > isNat > mark1 > U31^11
active1 > 0 > tt > U421 > mark1 > U31^11
active1 > 0 > tt > U722 > mark1 > U31^11
active1 > 0 > tt > U823 > isNat > mark1 > U31^11
active1 > 0 > tt > U833 > U843 > plus2 > mark1 > U31^11
active1 > 0 > tt > U833 > U843 > s1 > isNat > mark1 > U31^11
active1 > 0 > tt > U833 > U843 > s1 > U211 > mark1 > U31^11
active1 > 0 > tt > U833 > U843 > s1 > U511 > mark1 > U31^11
active1 > 0 > tt > U921 > mark1 > U31^11
active1 > 0 > U712 > isNatKind > U411 > mark1 > U31^11
active1 > 0 > U712 > isNatKind > U511 > mark1 > U31^11
active1 > 0 > U712 > isNatKind > U611 > mark1 > U31^11
active1 > 0 > U712 > U722 > mark1 > U31^11
active1 > 0 > U911 > isNatKind > U411 > mark1 > U31^11
active1 > 0 > U911 > isNatKind > U511 > mark1 > U31^11
active1 > 0 > U911 > isNatKind > U611 > mark1 > U31^11
active1 > 0 > U911 > U921 > mark1 > U31^11
top > U31^11
U31^11: [1]
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [3,2,1]
isNat: []
U1043: [2,3,1]
plus2: [2,1]
x2: [1,2]
U111: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U321: [1]
U331: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U712: [1,2]
U722: [2,1]
U813: [1,3,2]
U823: [1,2,3]
U833: [3,2,1]
U843: [1,3,2]
s1: [1]
U911: [1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U23^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U221(X1, X2)
U22^11 > mark
0 > U911 > isNatKind1 > ok1 > mark
0 > U911 > isNatKind1 > tt > mark
top > proper1 > U1031 > isNatKind1 > ok1 > mark
top > proper1 > U1031 > isNatKind1 > tt > mark
top > proper1 > U1041 > ok1 > mark
top > proper1 > U151 > ok1 > mark
top > proper1 > U212 > isNatKind1 > ok1 > mark
top > proper1 > U212 > isNatKind1 > tt > mark
top > proper1 > U221 > ok1 > mark
top > proper1 > U311 > isNatKind1 > ok1 > mark
top > proper1 > U311 > isNatKind1 > tt > mark
top > proper1 > U321 > isNatKind1 > ok1 > mark
top > proper1 > U321 > isNatKind1 > tt > mark
top > proper1 > U812 > isNatKind1 > ok1 > mark
top > proper1 > U812 > isNatKind1 > tt > mark
top > proper1 > U821 > ok1 > mark
top > proper1 > U842 > ok1 > mark
top > proper1 > U911 > isNatKind1 > ok1 > mark
top > proper1 > U911 > isNatKind1 > tt > mark
U22^11: [1]
ok1: [1]
mark: []
tt: []
isNatKind1: [1]
U1031: [1]
U1041: [1]
U151: [1]
U212: [1,2]
U221: [1]
U311: [1]
U321: [1]
U812: [1,2]
U821: [1]
U842: [1,2]
U911: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > mark1 > top
active1 > U1033 > mark1 > top
active1 > U1033 > isNatKind1
active1 > U1043 > mark1 > top
active1 > plus2 > isNat1 > tt > U231 > mark1 > top
active1 > plus2 > isNat1 > tt > U333 > isNatKind1
active1 > plus2 > isNat1 > tt > U333 > U343 > mark1 > top
active1 > plus2 > isNat1 > tt > U421 > mark1 > top
active1 > plus2 > isNat1 > U113 > U123 > U133 > isNatKind1
active1 > plus2 > isNat1 > U113 > U123 > U133 > U143 > mark1 > top
active1 > plus2 > isNat1 > U212 > isNatKind1
active1 > plus2 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > plus2 > isNat1 > U313 > U323 > U333 > isNatKind1
active1 > plus2 > isNat1 > U313 > U323 > U333 > U343 > mark1 > top
active1 > plus2 > U412 > isNatKind1
active1 > plus2 > U412 > U421 > mark1 > top
active1 > plus2 > U813 > mark1 > top
active1 > plus2 > U813 > isNatKind1
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind1
active1 > x2 > U313 > U323 > U333 > isNatKind1
active1 > x2 > U313 > U323 > U333 > U343 > mark1 > top
active1 > x2 > U612 > mark1 > top
active1 > x2 > U612 > isNatKind1
active1 > U152 > U161 > tt > U231 > mark1 > top
active1 > U152 > U161 > tt > U333 > isNatKind1
active1 > U152 > U161 > tt > U333 > U343 > mark1 > top
active1 > U152 > U161 > tt > U421 > mark1 > top
active1 > U352 > U361 > tt > U231 > mark1 > top
active1 > U352 > U361 > tt > U333 > isNatKind1
active1 > U352 > U361 > tt > U333 > U343 > mark1 > top
active1 > U352 > U361 > tt > U421 > mark1 > top
active1 > U621 > tt > U231 > mark1 > top
active1 > U621 > tt > U333 > isNatKind1
active1 > U621 > tt > U333 > U343 > mark1 > top
active1 > U621 > tt > U421 > mark1 > top
active1 > U712 > isNatKind1
active1 > U712 > U722 > mark1 > top
active1 > U823 > U833 > mark1 > top
active1 > U823 > U833 > isNatKind1
active1 > U843 > mark1 > top
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind1
active1 > s1 > U511 > tt > U231 > mark1 > top
active1 > s1 > U511 > tt > U333 > isNatKind1
active1 > s1 > U511 > tt > U333 > U343 > mark1 > top
active1 > s1 > U511 > tt > U421 > mark1 > top
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind1
active1 > U912 > mark1 > top
active1 > U912 > isNatKind1
active1 > U921 > 0 > tt > U231 > mark1 > top
active1 > U921 > 0 > tt > U333 > isNatKind1
active1 > U921 > 0 > tt > U333 > U343 > mark1 > top
active1 > U921 > 0 > tt > U421 > mark1 > top
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,2,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U113: [3,2,1]
U123: [1,2,3]
U133: [3,2,1]
U143: [1,2,3]
U152: [1,2]
U161: [1]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,3,2]
U343: [1,3,2]
U352: [1,2]
U361: [1]
U412: [1,2]
U421: [1]
U511: [1]
U612: [1,2]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U211(X1, X2)
U21^11 > mark
0 > U911 > isNatKind1 > ok1 > mark
0 > U911 > isNatKind1 > tt > mark
top > proper1 > U1031 > isNatKind1 > ok1 > mark
top > proper1 > U1031 > isNatKind1 > tt > mark
top > proper1 > U1041 > ok1 > mark
top > proper1 > U151 > ok1 > mark
top > proper1 > U212 > isNatKind1 > ok1 > mark
top > proper1 > U212 > isNatKind1 > tt > mark
top > proper1 > U221 > ok1 > mark
top > proper1 > U311 > isNatKind1 > ok1 > mark
top > proper1 > U311 > isNatKind1 > tt > mark
top > proper1 > U321 > isNatKind1 > ok1 > mark
top > proper1 > U321 > isNatKind1 > tt > mark
top > proper1 > U812 > isNatKind1 > ok1 > mark
top > proper1 > U812 > isNatKind1 > tt > mark
top > proper1 > U821 > ok1 > mark
top > proper1 > U842 > ok1 > mark
top > proper1 > U911 > isNatKind1 > ok1 > mark
top > proper1 > U911 > isNatKind1 > tt > mark
U21^11: [1]
ok1: [1]
mark: []
tt: []
isNatKind1: [1]
U1031: [1]
U1041: [1]
U151: [1]
U212: [1,2]
U221: [1]
U311: [1]
U321: [1]
U812: [1,2]
U821: [1]
U842: [1,2]
U911: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > mark1 > top
active1 > U1033 > mark1 > top
active1 > U1033 > isNatKind1
active1 > U1043 > mark1 > top
active1 > plus2 > isNat1 > tt > U231 > mark1 > top
active1 > plus2 > isNat1 > tt > U333 > isNatKind1
active1 > plus2 > isNat1 > tt > U333 > U343 > mark1 > top
active1 > plus2 > isNat1 > tt > U421 > mark1 > top
active1 > plus2 > isNat1 > U113 > U123 > U133 > isNatKind1
active1 > plus2 > isNat1 > U113 > U123 > U133 > U143 > mark1 > top
active1 > plus2 > isNat1 > U212 > isNatKind1
active1 > plus2 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > plus2 > isNat1 > U313 > U323 > U333 > isNatKind1
active1 > plus2 > isNat1 > U313 > U323 > U333 > U343 > mark1 > top
active1 > plus2 > U412 > isNatKind1
active1 > plus2 > U412 > U421 > mark1 > top
active1 > plus2 > U813 > mark1 > top
active1 > plus2 > U813 > isNatKind1
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind1
active1 > x2 > U313 > U323 > U333 > isNatKind1
active1 > x2 > U313 > U323 > U333 > U343 > mark1 > top
active1 > x2 > U612 > mark1 > top
active1 > x2 > U612 > isNatKind1
active1 > U152 > U161 > tt > U231 > mark1 > top
active1 > U152 > U161 > tt > U333 > isNatKind1
active1 > U152 > U161 > tt > U333 > U343 > mark1 > top
active1 > U152 > U161 > tt > U421 > mark1 > top
active1 > U352 > U361 > tt > U231 > mark1 > top
active1 > U352 > U361 > tt > U333 > isNatKind1
active1 > U352 > U361 > tt > U333 > U343 > mark1 > top
active1 > U352 > U361 > tt > U421 > mark1 > top
active1 > U621 > tt > U231 > mark1 > top
active1 > U621 > tt > U333 > isNatKind1
active1 > U621 > tt > U333 > U343 > mark1 > top
active1 > U621 > tt > U421 > mark1 > top
active1 > U712 > isNatKind1
active1 > U712 > U722 > mark1 > top
active1 > U823 > U833 > mark1 > top
active1 > U823 > U833 > isNatKind1
active1 > U843 > mark1 > top
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind1
active1 > s1 > U511 > tt > U231 > mark1 > top
active1 > s1 > U511 > tt > U333 > isNatKind1
active1 > s1 > U511 > tt > U333 > U343 > mark1 > top
active1 > s1 > U511 > tt > U421 > mark1 > top
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind1
active1 > U912 > mark1 > top
active1 > U912 > isNatKind1
active1 > U921 > 0 > tt > U231 > mark1 > top
active1 > U921 > 0 > tt > U333 > isNatKind1
active1 > U921 > 0 > tt > U333 > U343 > mark1 > top
active1 > U921 > 0 > tt > U421 > mark1 > top
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [3,2,1]
isNatKind1: [1]
U1033: [3,1,2]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U113: [3,2,1]
U123: [1,2,3]
U133: [3,2,1]
U143: [1,2,3]
U152: [1,2]
U161: [1]
U212: [2,1]
U222: [1,2]
U231: [1]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,3,2]
U343: [1,3,2]
U352: [1,2]
U361: [1]
U412: [1,2]
U421: [1]
U511: [1]
U612: [1,2]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [2,3,1]
U833: [2,3,1]
U843: [2,3,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > mark1 > top
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > mark1 > top
active1 > U1023 > isNat > isNatKind > tt
active1 > U1043 > mark1 > top
active1 > x2 > U1013 > mark1 > top
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > mark1 > top
active1 > x2 > isNat > isNatKind > tt
active1 > x2 > U311 > mark1 > top
active1 > x2 > U311 > isNatKind > tt
active1 > x2 > U611 > mark1 > top
active1 > x2 > U611 > isNatKind > tt
active1 > U141 > U151 > isNat > mark1 > top
active1 > U141 > U151 > isNat > isNatKind > tt
active1 > U141 > U151 > U161 > mark1 > top
active1 > U141 > U151 > U161 > tt
active1 > U221 > isNat > mark1 > top
active1 > U221 > isNat > isNatKind > tt
active1 > U231 > mark1 > top
active1 > U231 > tt
active1 > U331 > mark1 > top
active1 > U331 > isNatKind > tt
active1 > U341 > U351 > isNat > mark1 > top
active1 > U341 > U351 > isNat > isNatKind > tt
active1 > U341 > U351 > U361 > mark1 > top
active1 > U341 > U351 > U361 > tt
active1 > U421 > mark1 > top
active1 > U421 > tt
active1 > U621 > mark1 > top
active1 > U621 > tt
active1 > U843 > plus2 > U712 > isNatKind > tt
active1 > U843 > plus2 > U712 > U722 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > mark1 > top
active1 > U843 > plus2 > U813 > U823 > isNat > isNatKind > tt
active1 > U843 > plus2 > U813 > U823 > U833 > mark1 > top
active1 > U843 > plus2 > U813 > U823 > U833 > isNatKind > tt
active1 > s1 > U1013 > mark1 > top
active1 > s1 > U1013 > isNatKind > tt
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind > tt
active1 > s1 > U813 > U823 > isNat > mark1 > top
active1 > s1 > U813 > U823 > isNat > isNatKind > tt
active1 > s1 > U813 > U823 > U833 > mark1 > top
active1 > s1 > U813 > U823 > U833 > isNatKind > tt
active1 > 0 > isNat > mark1 > top
active1 > 0 > isNat > isNatKind > tt
active1 > 0 > U712 > isNatKind > tt
active1 > 0 > U712 > U722 > mark1 > top
active1 > 0 > U912 > isNatKind > tt
active1 > 0 > U912 > U921 > mark1 > top
U16^11: [1]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,2,1]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [2,1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [1,2]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [3,1,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > x2 > U1012 > mark > U1023 > ok1
active1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > U1033 > U1043 > ok1
active1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U1012 > mark > plus2 > U813 > ok1
active1 > x2 > U1012 > mark > U341 > ok1
active1 > x2 > U1012 > mark > U352 > ok1
active1 > x2 > U1012 > mark > U621 > ok1
active1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1023 > ok1
active1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U311 > mark > U1033 > U1043 > ok1
active1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U311 > mark > plus2 > U813 > ok1
active1 > x2 > U311 > mark > U341 > ok1
active1 > x2 > U311 > mark > U352 > ok1
active1 > x2 > U311 > mark > U621 > ok1
active1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1023 > ok1
active1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
active1 > x2 > U611 > mark > U1033 > U1043 > ok1
active1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > x2 > U611 > mark > plus2 > U813 > ok1
active1 > x2 > U611 > mark > U341 > ok1
active1 > x2 > U611 > mark > U352 > ok1
active1 > x2 > U611 > mark > U621 > ok1
active1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
active1 > U121 > mark > U1023 > ok1
active1 > U121 > mark > U1033 > isNatKind1 > ok1
active1 > U121 > mark > U1033 > U1043 > ok1
active1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U121 > mark > plus2 > U813 > ok1
active1 > U121 > mark > U341 > ok1
active1 > U121 > mark > U352 > ok1
active1 > U121 > mark > U621 > ok1
active1 > U121 > mark > U833 > isNatKind1 > ok1
active1 > U121 > U133 > isNatKind1 > ok1
active1 > U141 > mark > U1023 > ok1
active1 > U141 > mark > U1033 > isNatKind1 > ok1
active1 > U141 > mark > U1033 > U1043 > ok1
active1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U141 > mark > plus2 > U813 > ok1
active1 > U141 > mark > U341 > ok1
active1 > U141 > mark > U352 > ok1
active1 > U141 > mark > U621 > ok1
active1 > U141 > mark > U833 > isNatKind1 > ok1
active1 > U332 > isNatKind1 > ok1
active1 > U332 > U341 > ok1
active1 > U412 > isNatKind1 > ok1
active1 > U823 > U833 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1023 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
active1 > U842 > s1 > U1012 > mark > U341 > ok1
active1 > U842 > s1 > U1012 > mark > U352 > ok1
active1 > U842 > s1 > U1012 > mark > U621 > ok1
active1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
active1 > 0 > tt > U1023 > ok1
active1 > 0 > tt > U341 > ok1
active1 > 0 > tt > U621 > ok1
active1 > 0 > tt > U833 > isNatKind1 > ok1
active1 > 0 > mark > U1023 > ok1
active1 > 0 > mark > U1033 > isNatKind1 > ok1
active1 > 0 > mark > U1033 > U1043 > ok1
active1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
active1 > 0 > mark > plus2 > U813 > ok1
active1 > 0 > mark > U341 > ok1
active1 > 0 > mark > U352 > ok1
active1 > 0 > mark > U621 > ok1
active1 > 0 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1023 > ok1
proper1 > x2 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > U1033 > U1043 > ok1
proper1 > x2 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U1012 > mark > plus2 > U813 > ok1
proper1 > x2 > U1012 > mark > U341 > ok1
proper1 > x2 > U1012 > mark > U352 > ok1
proper1 > x2 > U1012 > mark > U621 > ok1
proper1 > x2 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1023 > ok1
proper1 > x2 > U311 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > U1033 > U1043 > ok1
proper1 > x2 > U311 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U311 > mark > plus2 > U813 > ok1
proper1 > x2 > U311 > mark > U341 > ok1
proper1 > x2 > U311 > mark > U352 > ok1
proper1 > x2 > U311 > mark > U621 > ok1
proper1 > x2 > U311 > mark > U833 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1023 > ok1
proper1 > x2 > U611 > mark > U1033 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > U1033 > U1043 > ok1
proper1 > x2 > U611 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > x2 > U611 > mark > plus2 > U813 > ok1
proper1 > x2 > U611 > mark > U341 > ok1
proper1 > x2 > U611 > mark > U352 > ok1
proper1 > x2 > U611 > mark > U621 > ok1
proper1 > x2 > U611 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > mark > U1023 > ok1
proper1 > U121 > mark > U1033 > isNatKind1 > ok1
proper1 > U121 > mark > U1033 > U1043 > ok1
proper1 > U121 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U121 > mark > plus2 > U813 > ok1
proper1 > U121 > mark > U341 > ok1
proper1 > U121 > mark > U352 > ok1
proper1 > U121 > mark > U621 > ok1
proper1 > U121 > mark > U833 > isNatKind1 > ok1
proper1 > U121 > U133 > isNatKind1 > ok1
proper1 > U141 > mark > U1023 > ok1
proper1 > U141 > mark > U1033 > isNatKind1 > ok1
proper1 > U141 > mark > U1033 > U1043 > ok1
proper1 > U141 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U141 > mark > plus2 > U813 > ok1
proper1 > U141 > mark > U341 > ok1
proper1 > U141 > mark > U352 > ok1
proper1 > U141 > mark > U621 > ok1
proper1 > U141 > mark > U833 > isNatKind1 > ok1
proper1 > U332 > isNatKind1 > ok1
proper1 > U332 > U341 > ok1
proper1 > U412 > isNatKind1 > ok1
proper1 > U823 > U833 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1023 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > U1033 > U1043 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > U842 > s1 > U1012 > mark > plus2 > U813 > ok1
proper1 > U842 > s1 > U1012 > mark > U341 > ok1
proper1 > U842 > s1 > U1012 > mark > U352 > ok1
proper1 > U842 > s1 > U1012 > mark > U621 > ok1
proper1 > U842 > s1 > U1012 > mark > U833 > isNatKind1 > ok1
proper1 > 0 > tt > U1023 > ok1
proper1 > 0 > tt > U341 > ok1
proper1 > 0 > tt > U621 > ok1
proper1 > 0 > tt > U833 > isNatKind1 > ok1
proper1 > 0 > mark > U1023 > ok1
proper1 > 0 > mark > U1033 > isNatKind1 > ok1
proper1 > 0 > mark > U1033 > U1043 > ok1
proper1 > 0 > mark > plus2 > U111 > isNatKind1 > ok1
proper1 > 0 > mark > plus2 > U813 > ok1
proper1 > 0 > mark > U341 > ok1
proper1 > 0 > mark > U352 > ok1
proper1 > 0 > mark > U621 > ok1
proper1 > 0 > mark > U833 > isNatKind1 > ok1
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
mark: []
U1023: [1,2,3]
isNatKind1: [1]
U1033: [2,3,1]
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U133: [3,2,1]
U141: [1]
U311: [1]
U332: [1,2]
U341: [1]
U352: [1,2]
U412: [2,1]
U611: [1]
U621: [1]
U813: [3,1,2]
U823: [3,1,2]
U833: [2,1,3]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → U151(X1, X2)
U15^11 > top
active1 > U1023 > isNat1 > tt > plus2 > U712 > ok1 > top
active1 > U1023 > isNat1 > tt > U823 > ok1 > top
active1 > U1023 > isNat1 > tt > 0 > top
active1 > U1023 > isNat1 > U313 > ok1 > top
active1 > U1032 > isNatKind1 > tt > plus2 > U712 > ok1 > top
active1 > U1032 > isNatKind1 > tt > U823 > ok1 > top
active1 > U1032 > isNatKind1 > tt > 0 > top
active1 > U1032 > U1043 > plus2 > U712 > ok1 > top
active1 > x2 > U1012 > ok1 > top
active1 > x2 > isNat1 > tt > plus2 > U712 > ok1 > top
active1 > x2 > isNat1 > tt > U823 > ok1 > top
active1 > x2 > isNat1 > tt > 0 > top
active1 > x2 > isNat1 > U313 > ok1 > top
active1 > U113 > isNatKind1 > tt > plus2 > U712 > ok1 > top
active1 > U113 > isNatKind1 > tt > U823 > ok1 > top
active1 > U113 > isNatKind1 > tt > 0 > top
active1 > U131 > isNatKind1 > tt > plus2 > U712 > ok1 > top
active1 > U131 > isNatKind1 > tt > U823 > ok1 > top
active1 > U131 > isNatKind1 > tt > 0 > top
active1 > U161 > tt > plus2 > U712 > ok1 > top
active1 > U161 > tt > U823 > ok1 > top
active1 > U161 > tt > 0 > top
active1 > U332 > ok1 > top
active1 > U833 > isNatKind1 > tt > plus2 > U712 > ok1 > top
active1 > U833 > isNatKind1 > tt > U823 > ok1 > top
active1 > U833 > isNatKind1 > tt > 0 > top
active1 > U833 > U843 > plus2 > U712 > ok1 > top
active1 > U833 > U843 > s1 > U1012 > ok1 > top
active1 > U833 > U843 > s1 > U813 > U823 > ok1 > top
active1 > U912 > isNatKind1 > tt > plus2 > U712 > ok1 > top
active1 > U912 > isNatKind1 > tt > U823 > ok1 > top
active1 > U912 > isNatKind1 > tt > 0 > top
proper1 > U1023 > isNat1 > tt > plus2 > U712 > ok1 > top
proper1 > U1023 > isNat1 > tt > U823 > ok1 > top
proper1 > U1023 > isNat1 > tt > 0 > top
proper1 > U1023 > isNat1 > U313 > ok1 > top
proper1 > U1032 > isNatKind1 > tt > plus2 > U712 > ok1 > top
proper1 > U1032 > isNatKind1 > tt > U823 > ok1 > top
proper1 > U1032 > isNatKind1 > tt > 0 > top
proper1 > U1032 > U1043 > plus2 > U712 > ok1 > top
proper1 > x2 > U1012 > ok1 > top
proper1 > x2 > isNat1 > tt > plus2 > U712 > ok1 > top
proper1 > x2 > isNat1 > tt > U823 > ok1 > top
proper1 > x2 > isNat1 > tt > 0 > top
proper1 > x2 > isNat1 > U313 > ok1 > top
proper1 > U113 > isNatKind1 > tt > plus2 > U712 > ok1 > top
proper1 > U113 > isNatKind1 > tt > U823 > ok1 > top
proper1 > U113 > isNatKind1 > tt > 0 > top
proper1 > U131 > isNatKind1 > tt > plus2 > U712 > ok1 > top
proper1 > U131 > isNatKind1 > tt > U823 > ok1 > top
proper1 > U131 > isNatKind1 > tt > 0 > top
proper1 > U161 > tt > plus2 > U712 > ok1 > top
proper1 > U161 > tt > U823 > ok1 > top
proper1 > U161 > tt > 0 > top
proper1 > U332 > ok1 > top
proper1 > U833 > isNatKind1 > tt > plus2 > U712 > ok1 > top
proper1 > U833 > isNatKind1 > tt > U823 > ok1 > top
proper1 > U833 > isNatKind1 > tt > 0 > top
proper1 > U833 > U843 > plus2 > U712 > ok1 > top
proper1 > U833 > U843 > s1 > U1012 > ok1 > top
proper1 > U833 > U843 > s1 > U813 > U823 > ok1 > top
proper1 > U912 > isNatKind1 > tt > plus2 > U712 > ok1 > top
proper1 > U912 > isNatKind1 > tt > U823 > ok1 > top
proper1 > U912 > isNatKind1 > tt > 0 > top
U15^11: [1]
ok1: [1]
active1: [1]
U1012: [1,2]
tt: []
U1023: [1,3,2]
isNatKind1: [1]
U1032: [1,2]
isNat1: [1]
U1043: [1,2,3]
plus2: [1,2]
x2: [1,2]
U113: [1,3,2]
U131: [1]
U161: [1]
U313: [2,1,3]
U332: [1,2]
U712: [1,2]
U813: [1,2,3]
U823: [1,2,3]
U833: [1,3,2]
U843: [2,1,3]
s1: [1]
U912: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > U1033 > isNatKind > mark1
active1 > U1023 > isNat
active1 > plus2 > isNat
active1 > plus2 > U111 > isNatKind > mark1
active1 > plus2 > U111 > U121 > mark1
active1 > plus2 > U712 > isNatKind > mark1
active1 > plus2 > U813 > isNatKind > mark1
active1 > x2 > U1013 > isNatKind > mark1
active1 > x2 > isNat
active1 > x2 > U611 > isNatKind > mark1
active1 > U131 > isNatKind > mark1
active1 > U131 > U141 > U151 > mark1
active1 > U131 > U141 > U151 > isNat
active1 > U211 > isNatKind > mark1
active1 > U311 > isNatKind > mark1
active1 > U331 > isNatKind > mark1
active1 > U331 > U341 > mark1
active1 > U331 > U341 > isNat
active1 > U411 > isNatKind > mark1
active1 > U511 > tt > U1033 > isNatKind > mark1
active1 > U511 > tt > U1043 > mark1
active1 > U511 > tt > U121 > mark1
active1 > U511 > tt > U151 > mark1
active1 > U511 > tt > U151 > isNat
active1 > U511 > tt > U161 > mark1
active1 > U511 > tt > U231 > mark1
active1 > U511 > tt > U341 > mark1
active1 > U511 > tt > U341 > isNat
active1 > U511 > tt > U361 > mark1
active1 > U511 > tt > 0 > mark1
active1 > U511 > tt > 0 > isNat
active1 > U621 > tt > U1033 > isNatKind > mark1
active1 > U621 > tt > U1043 > mark1
active1 > U621 > tt > U121 > mark1
active1 > U621 > tt > U151 > mark1
active1 > U621 > tt > U151 > isNat
active1 > U621 > tt > U161 > mark1
active1 > U621 > tt > U231 > mark1
active1 > U621 > tt > U341 > mark1
active1 > U621 > tt > U341 > isNat
active1 > U621 > tt > U361 > mark1
active1 > U621 > tt > 0 > mark1
active1 > U621 > tt > 0 > isNat
active1 > U722 > mark1
active1 > U823 > mark1
active1 > U823 > isNat
active1 > U833 > isNatKind > mark1
active1 > U833 > U843 > mark1
active1 > U912 > isNatKind > mark1
U15^11: [1]
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [3,1,2]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [3,1,2]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U361: [1]
U411: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [2,3,1]
U823: [2,3,1]
U833: [2,3,1]
U843: [1,3,2]
U912: [2,1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U141(X1, X2, X3)
proper1 > U111 > active1 > tt > U1023 > ok1 > mark
proper1 > U111 > active1 > tt > x2 > ok1 > mark
proper1 > U111 > active1 > tt > U121 > ok1 > mark
proper1 > U111 > active1 > tt > U141 > ok1 > mark
proper1 > U111 > active1 > tt > U321 > ok1 > mark
proper1 > U111 > active1 > tt > 0 > ok1 > mark
proper1 > U111 > active1 > U131 > U141 > ok1 > mark
proper1 > U111 > active1 > U161 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > tt > U1023 > ok1 > mark
proper1 > U151 > active1 > tt > x2 > ok1 > mark
proper1 > U151 > active1 > tt > U121 > ok1 > mark
proper1 > U151 > active1 > tt > U141 > ok1 > mark
proper1 > U151 > active1 > tt > U321 > ok1 > mark
proper1 > U151 > active1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > U131 > U141 > ok1 > mark
proper1 > U151 > active1 > U161 > ok1 > mark
proper1 > U151 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U151 > isNat1 > tt > x2 > ok1 > mark
proper1 > U151 > isNat1 > tt > U121 > ok1 > mark
proper1 > U151 > isNat1 > tt > U141 > ok1 > mark
proper1 > U151 > isNat1 > tt > U321 > ok1 > mark
proper1 > U151 > isNat1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > tt > U1023 > ok1 > mark
proper1 > U221 > active1 > tt > x2 > ok1 > mark
proper1 > U221 > active1 > tt > U121 > ok1 > mark
proper1 > U221 > active1 > tt > U141 > ok1 > mark
proper1 > U221 > active1 > tt > U321 > ok1 > mark
proper1 > U221 > active1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > U131 > U141 > ok1 > mark
proper1 > U221 > active1 > U161 > ok1 > mark
proper1 > U221 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U221 > isNat1 > tt > x2 > ok1 > mark
proper1 > U221 > isNat1 > tt > U121 > ok1 > mark
proper1 > U221 > isNat1 > tt > U141 > ok1 > mark
proper1 > U221 > isNat1 > tt > U321 > ok1 > mark
proper1 > U221 > isNat1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > tt > U1023 > ok1 > mark
proper1 > U311 > active1 > tt > x2 > ok1 > mark
proper1 > U311 > active1 > tt > U121 > ok1 > mark
proper1 > U311 > active1 > tt > U141 > ok1 > mark
proper1 > U311 > active1 > tt > U321 > ok1 > mark
proper1 > U311 > active1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > U131 > U141 > ok1 > mark
proper1 > U311 > active1 > U161 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > tt > U1023 > ok1 > mark
proper1 > U832 > active1 > tt > x2 > ok1 > mark
proper1 > U832 > active1 > tt > U121 > ok1 > mark
proper1 > U832 > active1 > tt > U141 > ok1 > mark
proper1 > U832 > active1 > tt > U321 > ok1 > mark
proper1 > U832 > active1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > U131 > U141 > ok1 > mark
proper1 > U832 > active1 > U161 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > 0 > ok1 > mark
top > active1 > tt > U1023 > ok1 > mark
top > active1 > tt > x2 > ok1 > mark
top > active1 > tt > U121 > ok1 > mark
top > active1 > tt > U141 > ok1 > mark
top > active1 > tt > U321 > ok1 > mark
top > active1 > tt > 0 > ok1 > mark
top > active1 > U131 > U141 > ok1 > mark
top > active1 > U161 > ok1 > mark
ok1: [1]
mark: []
active1: [1]
tt: []
U1023: [3,1,2]
isNatKind1: [1]
isNat1: [1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U221: [1]
U311: [1]
U321: [1]
U832: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > tt > U1023 > mark1 > top
active1 > tt > U1023 > isNat
active1 > tt > isNatKind > U411 > mark1 > top
active1 > tt > isNatKind > U511 > mark1 > top
active1 > tt > isNatKind > U611 > U621 > mark1 > top
active1 > tt > U1033 > mark1 > top
active1 > tt > U1043 > plus2 > mark1 > top
active1 > tt > U1043 > plus2 > isNat
active1 > tt > U121 > mark1 > top
active1 > tt > U151 > mark1 > top
active1 > tt > U151 > isNat
active1 > tt > U161 > mark1 > top
active1 > tt > U231 > mark1 > top
active1 > tt > U331 > U341 > mark1 > top
active1 > tt > U331 > U341 > isNat
active1 > tt > U351 > mark1 > top
active1 > tt > U351 > isNat
active1 > tt > U421 > mark1 > top
active1 > tt > U722 > mark1 > top
active1 > tt > U823 > mark1 > top
active1 > tt > U823 > isNat
active1 > tt > U833 > U843 > plus2 > mark1 > top
active1 > tt > U833 > U843 > plus2 > isNat
active1 > tt > 0 > mark1 > top
active1 > tt > 0 > isNat
active1 > x2 > U1013 > mark1 > top
active1 > x2 > isNatKind > U411 > mark1 > top
active1 > x2 > isNatKind > U511 > mark1 > top
active1 > x2 > isNatKind > U611 > U621 > mark1 > top
active1 > x2 > isNat
active1 > x2 > U311 > mark1 > top
active1 > U111 > mark1 > top
active1 > U131 > isNatKind > U411 > mark1 > top
active1 > U131 > isNatKind > U511 > mark1 > top
active1 > U131 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > isNatKind > U411 > mark1 > top
active1 > U321 > isNatKind > U511 > mark1 > top
active1 > U321 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > U331 > U341 > mark1 > top
active1 > U321 > U331 > U341 > isNat
active1 > U712 > mark1 > top
active1 > U813 > mark1 > top
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [2,1,3]
plus2: [2,1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U151: [1]
U161: [1]
U231: [1]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U351: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [1,2]
U722: [2,1]
U813: [2,3,1]
U823: [2,3,1]
U833: [1,2,3]
U843: [1,3,2]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U131(X1, X2, X3)
proper1 > U111 > active1 > tt > U1023 > ok1 > mark
proper1 > U111 > active1 > tt > x2 > ok1 > mark
proper1 > U111 > active1 > tt > U121 > ok1 > mark
proper1 > U111 > active1 > tt > U141 > ok1 > mark
proper1 > U111 > active1 > tt > U321 > ok1 > mark
proper1 > U111 > active1 > tt > 0 > ok1 > mark
proper1 > U111 > active1 > U131 > U141 > ok1 > mark
proper1 > U111 > active1 > U161 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > tt > U1023 > ok1 > mark
proper1 > U151 > active1 > tt > x2 > ok1 > mark
proper1 > U151 > active1 > tt > U121 > ok1 > mark
proper1 > U151 > active1 > tt > U141 > ok1 > mark
proper1 > U151 > active1 > tt > U321 > ok1 > mark
proper1 > U151 > active1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > U131 > U141 > ok1 > mark
proper1 > U151 > active1 > U161 > ok1 > mark
proper1 > U151 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U151 > isNat1 > tt > x2 > ok1 > mark
proper1 > U151 > isNat1 > tt > U121 > ok1 > mark
proper1 > U151 > isNat1 > tt > U141 > ok1 > mark
proper1 > U151 > isNat1 > tt > U321 > ok1 > mark
proper1 > U151 > isNat1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > tt > U1023 > ok1 > mark
proper1 > U221 > active1 > tt > x2 > ok1 > mark
proper1 > U221 > active1 > tt > U121 > ok1 > mark
proper1 > U221 > active1 > tt > U141 > ok1 > mark
proper1 > U221 > active1 > tt > U321 > ok1 > mark
proper1 > U221 > active1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > U131 > U141 > ok1 > mark
proper1 > U221 > active1 > U161 > ok1 > mark
proper1 > U221 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U221 > isNat1 > tt > x2 > ok1 > mark
proper1 > U221 > isNat1 > tt > U121 > ok1 > mark
proper1 > U221 > isNat1 > tt > U141 > ok1 > mark
proper1 > U221 > isNat1 > tt > U321 > ok1 > mark
proper1 > U221 > isNat1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > tt > U1023 > ok1 > mark
proper1 > U311 > active1 > tt > x2 > ok1 > mark
proper1 > U311 > active1 > tt > U121 > ok1 > mark
proper1 > U311 > active1 > tt > U141 > ok1 > mark
proper1 > U311 > active1 > tt > U321 > ok1 > mark
proper1 > U311 > active1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > U131 > U141 > ok1 > mark
proper1 > U311 > active1 > U161 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > tt > U1023 > ok1 > mark
proper1 > U832 > active1 > tt > x2 > ok1 > mark
proper1 > U832 > active1 > tt > U121 > ok1 > mark
proper1 > U832 > active1 > tt > U141 > ok1 > mark
proper1 > U832 > active1 > tt > U321 > ok1 > mark
proper1 > U832 > active1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > U131 > U141 > ok1 > mark
proper1 > U832 > active1 > U161 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > 0 > ok1 > mark
top > active1 > tt > U1023 > ok1 > mark
top > active1 > tt > x2 > ok1 > mark
top > active1 > tt > U121 > ok1 > mark
top > active1 > tt > U141 > ok1 > mark
top > active1 > tt > U321 > ok1 > mark
top > active1 > tt > 0 > ok1 > mark
top > active1 > U131 > U141 > ok1 > mark
top > active1 > U161 > ok1 > mark
ok1: [1]
mark: []
active1: [1]
tt: []
U1023: [3,1,2]
isNatKind1: [1]
isNat1: [1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U221: [1]
U311: [1]
U321: [1]
U832: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > tt > U1023 > mark1 > top
active1 > tt > U1023 > isNat
active1 > tt > isNatKind > U411 > mark1 > top
active1 > tt > isNatKind > U511 > mark1 > top
active1 > tt > isNatKind > U611 > U621 > mark1 > top
active1 > tt > U1033 > mark1 > top
active1 > tt > U1043 > plus2 > mark1 > top
active1 > tt > U1043 > plus2 > isNat
active1 > tt > U121 > mark1 > top
active1 > tt > U151 > mark1 > top
active1 > tt > U151 > isNat
active1 > tt > U161 > mark1 > top
active1 > tt > U231 > mark1 > top
active1 > tt > U331 > U341 > mark1 > top
active1 > tt > U331 > U341 > isNat
active1 > tt > U351 > mark1 > top
active1 > tt > U351 > isNat
active1 > tt > U421 > mark1 > top
active1 > tt > U722 > mark1 > top
active1 > tt > U823 > mark1 > top
active1 > tt > U823 > isNat
active1 > tt > U833 > U843 > plus2 > mark1 > top
active1 > tt > U833 > U843 > plus2 > isNat
active1 > tt > 0 > mark1 > top
active1 > tt > 0 > isNat
active1 > x2 > U1013 > mark1 > top
active1 > x2 > isNatKind > U411 > mark1 > top
active1 > x2 > isNatKind > U511 > mark1 > top
active1 > x2 > isNatKind > U611 > U621 > mark1 > top
active1 > x2 > isNat
active1 > x2 > U311 > mark1 > top
active1 > U111 > mark1 > top
active1 > U131 > isNatKind > U411 > mark1 > top
active1 > U131 > isNatKind > U511 > mark1 > top
active1 > U131 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > isNatKind > U411 > mark1 > top
active1 > U321 > isNatKind > U511 > mark1 > top
active1 > U321 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > U331 > U341 > mark1 > top
active1 > U321 > U331 > U341 > isNat
active1 > U712 > mark1 > top
active1 > U813 > mark1 > top
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [2,1,3]
plus2: [2,1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U151: [1]
U161: [1]
U231: [1]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U351: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [1,2]
U722: [2,1]
U813: [2,3,1]
U823: [2,3,1]
U833: [1,2,3]
U843: [1,3,2]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U121(X1, X2, X3)
active1 > tt > U1033 > ok1 > mark
active1 > tt > U131 > ok1 > mark
active1 > tt > U151 > ok1 > mark
active1 > tt > U222 > ok1 > mark
active1 > tt > U331 > ok1 > mark
active1 > tt > 0 > mark
active1 > U1022 > U1033 > ok1 > mark
active1 > U212 > ok1 > mark
active1 > U822 > ok1 > mark
proper1 > tt > U1033 > ok1 > mark
proper1 > tt > U131 > ok1 > mark
proper1 > tt > U151 > ok1 > mark
proper1 > tt > U222 > ok1 > mark
proper1 > tt > U331 > ok1 > mark
proper1 > tt > 0 > mark
proper1 > U1022 > U1033 > ok1 > mark
proper1 > U212 > ok1 > mark
proper1 > U822 > ok1 > mark
top > mark
ok1: [1]
mark: []
active1: [1]
tt: []
U1022: [1,2]
U1033: [2,3,1]
U131: [1]
U151: [1]
U212: [1,2]
U222: [1,2]
U331: [1]
U822: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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)
top > active1 > U1013 > U1023 > mark1 > U12^12
top > active1 > U1013 > U1023 > isNat > U12^12
top > active1 > U1033 > isNatKind > mark1 > U12^12
top > active1 > U1033 > U1043 > plus2 > mark1 > U12^12
top > active1 > U1033 > U1043 > plus2 > isNat > U12^12
top > active1 > U1033 > U1043 > x2 > isNat > U12^12
top > active1 > U1033 > U1043 > x2 > U912 > mark1 > U12^12
top > active1 > U111 > mark1 > U12^12
top > active1 > U211 > U221 > mark1 > U12^12
top > active1 > U211 > U221 > isNat > U12^12
top > active1 > U311 > U321 > isNatKind > mark1 > U12^12
top > active1 > U311 > U321 > U331 > mark1 > U12^12
top > active1 > U351 > isNat > U12^12
top > active1 > U351 > U361 > mark1 > U12^12
top > active1 > U511 > tt > U1023 > mark1 > U12^12
top > active1 > U511 > tt > U1023 > isNat > U12^12
top > active1 > U511 > tt > isNatKind > mark1 > U12^12
top > active1 > U511 > tt > U1043 > plus2 > mark1 > U12^12
top > active1 > U511 > tt > U1043 > plus2 > isNat > U12^12
top > active1 > U511 > tt > U1043 > x2 > isNat > U12^12
top > active1 > U511 > tt > U1043 > x2 > U912 > mark1 > U12^12
top > active1 > U511 > tt > U141 > mark1 > U12^12
top > active1 > U511 > tt > U141 > isNat > U12^12
top > active1 > U511 > tt > U221 > mark1 > U12^12
top > active1 > U511 > tt > U221 > isNat > U12^12
top > active1 > U511 > tt > U231 > mark1 > U12^12
top > active1 > U511 > tt > U331 > mark1 > U12^12
top > active1 > U511 > tt > U341 > mark1 > U12^12
top > active1 > U511 > tt > U341 > isNat > U12^12
top > active1 > U511 > tt > U421 > mark1 > U12^12
top > active1 > U511 > tt > s1 > mark1 > U12^12
top > active1 > U511 > tt > s1 > isNat > U12^12
top > active1 > U511 > tt > U921 > 0 > isNat > U12^12
top > active1 > U511 > tt > U921 > 0 > U912 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U1023 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U1023 > isNat > U12^12
top > active1 > U611 > U621 > tt > isNatKind > mark1 > U12^12
top > active1 > U611 > U621 > tt > U1043 > plus2 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U1043 > plus2 > isNat > U12^12
top > active1 > U611 > U621 > tt > U1043 > x2 > isNat > U12^12
top > active1 > U611 > U621 > tt > U1043 > x2 > U912 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U141 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U141 > isNat > U12^12
top > active1 > U611 > U621 > tt > U221 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U221 > isNat > U12^12
top > active1 > U611 > U621 > tt > U231 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U331 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U341 > mark1 > U12^12
top > active1 > U611 > U621 > tt > U341 > isNat > U12^12
top > active1 > U611 > U621 > tt > U421 > mark1 > U12^12
top > active1 > U611 > U621 > tt > s1 > mark1 > U12^12
top > active1 > U611 > U621 > tt > s1 > isNat > U12^12
top > active1 > U611 > U621 > tt > U921 > 0 > isNat > U12^12
top > active1 > U611 > U621 > tt > U921 > 0 > U912 > mark1 > U12^12
top > active1 > U712 > isNatKind > mark1 > U12^12
top > active1 > U722 > mark1 > U12^12
top > active1 > U813 > mark1 > U12^12
top > active1 > U823 > U833 > isNatKind > mark1 > U12^12
top > active1 > U823 > U833 > U843 > plus2 > mark1 > U12^12
top > active1 > U823 > U833 > U843 > plus2 > isNat > U12^12
top > active1 > U823 > U833 > U843 > s1 > mark1 > U12^12
top > active1 > U823 > U833 > U843 > s1 > isNat > U12^12
top > proper1 > U1013 > U1023 > mark1 > U12^12
top > proper1 > U1013 > U1023 > isNat > U12^12
top > proper1 > U1033 > isNatKind > mark1 > U12^12
top > proper1 > U1033 > U1043 > plus2 > mark1 > U12^12
top > proper1 > U1033 > U1043 > plus2 > isNat > U12^12
top > proper1 > U1033 > U1043 > x2 > isNat > U12^12
top > proper1 > U1033 > U1043 > x2 > U912 > mark1 > U12^12
top > proper1 > U111 > mark1 > U12^12
top > proper1 > U211 > U221 > mark1 > U12^12
top > proper1 > U211 > U221 > isNat > U12^12
top > proper1 > U311 > U321 > isNatKind > mark1 > U12^12
top > proper1 > U311 > U321 > U331 > mark1 > U12^12
top > proper1 > U351 > isNat > U12^12
top > proper1 > U351 > U361 > mark1 > U12^12
top > proper1 > U511 > tt > U1023 > mark1 > U12^12
top > proper1 > U511 > tt > U1023 > isNat > U12^12
top > proper1 > U511 > tt > isNatKind > mark1 > U12^12
top > proper1 > U511 > tt > U1043 > plus2 > mark1 > U12^12
top > proper1 > U511 > tt > U1043 > plus2 > isNat > U12^12
top > proper1 > U511 > tt > U1043 > x2 > isNat > U12^12
top > proper1 > U511 > tt > U1043 > x2 > U912 > mark1 > U12^12
top > proper1 > U511 > tt > U141 > mark1 > U12^12
top > proper1 > U511 > tt > U141 > isNat > U12^12
top > proper1 > U511 > tt > U221 > mark1 > U12^12
top > proper1 > U511 > tt > U221 > isNat > U12^12
top > proper1 > U511 > tt > U231 > mark1 > U12^12
top > proper1 > U511 > tt > U331 > mark1 > U12^12
top > proper1 > U511 > tt > U341 > mark1 > U12^12
top > proper1 > U511 > tt > U341 > isNat > U12^12
top > proper1 > U511 > tt > U421 > mark1 > U12^12
top > proper1 > U511 > tt > s1 > mark1 > U12^12
top > proper1 > U511 > tt > s1 > isNat > U12^12
top > proper1 > U511 > tt > U921 > 0 > isNat > U12^12
top > proper1 > U511 > tt > U921 > 0 > U912 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U1023 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U1023 > isNat > U12^12
top > proper1 > U611 > U621 > tt > isNatKind > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U1043 > plus2 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U1043 > plus2 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U1043 > x2 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U1043 > x2 > U912 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U141 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U141 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U221 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U221 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U231 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U331 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U341 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > U341 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U421 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > s1 > mark1 > U12^12
top > proper1 > U611 > U621 > tt > s1 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U921 > 0 > isNat > U12^12
top > proper1 > U611 > U621 > tt > U921 > 0 > U912 > mark1 > U12^12
top > proper1 > U712 > isNatKind > mark1 > U12^12
top > proper1 > U722 > mark1 > U12^12
top > proper1 > U813 > mark1 > U12^12
top > proper1 > U823 > U833 > isNatKind > mark1 > U12^12
top > proper1 > U823 > U833 > U843 > plus2 > mark1 > U12^12
top > proper1 > U823 > U833 > U843 > plus2 > isNat > U12^12
top > proper1 > U823 > U833 > U843 > s1 > mark1 > U12^12
top > proper1 > U823 > U833 > U843 > s1 > isNat > U12^12
U12^12: [2,1]
mark1: [1]
active1: [1]
U1013: [2,3,1]
tt: []
U1023: [2,1,3]
isNatKind: []
U1033: [3,2,1]
isNat: []
U1043: [2,1,3]
plus2: [2,1]
x2: [1,2]
U111: [1]
U141: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [3,1,2]
U833: [1,3,2]
U843: [1,3,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U111(X1, X2, X3)
top > proper1 > U1022 > U1033 > isNatKind1 > ok1 > mark
top > proper1 > U1022 > U1033 > isNatKind1 > tt > 0 > mark
top > proper1 > isNat1 > U111 > isNatKind1 > ok1 > mark
top > proper1 > isNat1 > U111 > isNatKind1 > tt > 0 > mark
top > proper1 > isNat1 > U212 > ok1 > mark
top > proper1 > U131 > isNatKind1 > ok1 > mark
top > proper1 > U131 > isNatKind1 > tt > 0 > mark
top > proper1 > U161 > ok1 > mark
top > proper1 > U161 > tt > 0 > mark
top > proper1 > U222 > ok1 > mark
top > proper1 > U231 > ok1 > mark
top > proper1 > U231 > tt > 0 > mark
top > proper1 > U322 > isNatKind1 > ok1 > mark
top > proper1 > U322 > isNatKind1 > tt > 0 > mark
top > proper1 > U722 > ok1 > mark
top > proper1 > U822 > ok1 > mark
ok1: [1]
mark: []
tt: []
U1022: [1,2]
isNatKind1: [1]
U1033: [2,3,1]
isNat1: [1]
U111: [1]
U131: [1]
U161: [1]
U212: [1,2]
U222: [1,2]
U231: [1]
U322: [1,2]
U722: [1,2]
U822: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > U1023 > U1033 > mark1 > U11^11
active1 > U1013 > U1023 > isNat > mark1 > U11^11
active1 > U1013 > isNatKind > U411 > mark1 > U11^11
active1 > U1013 > isNatKind > U511 > mark1 > U11^11
active1 > U1013 > isNatKind > U611 > mark1 > U11^11
active1 > U1043 > plus2 > mark1 > U11^11
active1 > U1043 > x2 > mark1 > U11^11
active1 > U111 > mark1 > U11^11
active1 > U141 > isNat > mark1 > U11^11
active1 > U141 > U151 > mark1 > U11^11
active1 > U361 > tt > isNatKind > U411 > mark1 > U11^11
active1 > U361 > tt > isNatKind > U511 > mark1 > U11^11
active1 > U361 > tt > isNatKind > U611 > mark1 > U11^11
active1 > U361 > tt > U1033 > mark1 > U11^11
active1 > U361 > tt > x2 > mark1 > U11^11
active1 > U361 > tt > U151 > mark1 > U11^11
active1 > U361 > tt > U161 > mark1 > U11^11
active1 > U361 > tt > U221 > isNat > mark1 > U11^11
active1 > U361 > tt > U221 > U231 > mark1 > U11^11
active1 > U361 > tt > U321 > mark1 > U11^11
active1 > U361 > tt > U331 > mark1 > U11^11
active1 > U361 > tt > U351 > isNat > mark1 > U11^11
active1 > U361 > tt > U421 > mark1 > U11^11
active1 > U361 > tt > U722 > mark1 > U11^11
active1 > U361 > tt > U823 > isNat > mark1 > U11^11
active1 > U361 > tt > U833 > U843 > plus2 > mark1 > U11^11
active1 > U361 > tt > U833 > U843 > s1 > isNat > mark1 > U11^11
active1 > U361 > tt > U833 > U843 > s1 > U211 > mark1 > U11^11
active1 > U361 > tt > U833 > U843 > s1 > U511 > mark1 > U11^11
active1 > U361 > tt > U921 > mark1 > U11^11
active1 > U813 > mark1 > U11^11
active1 > 0 > tt > isNatKind > U411 > mark1 > U11^11
active1 > 0 > tt > isNatKind > U511 > mark1 > U11^11
active1 > 0 > tt > isNatKind > U611 > mark1 > U11^11
active1 > 0 > tt > U1033 > mark1 > U11^11
active1 > 0 > tt > x2 > mark1 > U11^11
active1 > 0 > tt > U151 > mark1 > U11^11
active1 > 0 > tt > U161 > mark1 > U11^11
active1 > 0 > tt > U221 > isNat > mark1 > U11^11
active1 > 0 > tt > U221 > U231 > mark1 > U11^11
active1 > 0 > tt > U321 > mark1 > U11^11
active1 > 0 > tt > U331 > mark1 > U11^11
active1 > 0 > tt > U351 > isNat > mark1 > U11^11
active1 > 0 > tt > U421 > mark1 > U11^11
active1 > 0 > tt > U722 > mark1 > U11^11
active1 > 0 > tt > U823 > isNat > mark1 > U11^11
active1 > 0 > tt > U833 > U843 > plus2 > mark1 > U11^11
active1 > 0 > tt > U833 > U843 > s1 > isNat > mark1 > U11^11
active1 > 0 > tt > U833 > U843 > s1 > U211 > mark1 > U11^11
active1 > 0 > tt > U833 > U843 > s1 > U511 > mark1 > U11^11
active1 > 0 > tt > U921 > mark1 > U11^11
active1 > 0 > U712 > isNatKind > U411 > mark1 > U11^11
active1 > 0 > U712 > isNatKind > U511 > mark1 > U11^11
active1 > 0 > U712 > isNatKind > U611 > mark1 > U11^11
active1 > 0 > U712 > U722 > mark1 > U11^11
active1 > 0 > U911 > isNatKind > U411 > mark1 > U11^11
active1 > 0 > U911 > isNatKind > U511 > mark1 > U11^11
active1 > 0 > U911 > isNatKind > U611 > mark1 > U11^11
active1 > 0 > U911 > U921 > mark1 > U11^11
top > U11^11
U11^11: [1]
mark1: [1]
active1: [1]
U1013: [3,2,1]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [3,2,1]
isNat: []
U1043: [2,3,1]
plus2: [2,1]
x2: [1,2]
U111: [1]
U141: [1]
U151: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U321: [1]
U331: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U712: [1,2]
U722: [2,1]
U813: [1,3,2]
U823: [1,2,3]
U833: [3,2,1]
U843: [1,3,2]
s1: [1]
U911: [1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2)) → X(X1, X2)
top > active1 > U1022 > U1032 > U1043 > ok1
top > active1 > U1022 > isNat1 > ok1
top > active1 > U1022 > isNat1 > tt
top > active1 > plus2 > U112 > U122 > U132 > U142 > ok1
top > active1 > plus2 > U412 > U421 > ok1
top > active1 > plus2 > U412 > U421 > tt
top > active1 > plus2 > U712 > U721 > ok1
top > active1 > plus2 > U813 > U823 > isNat1 > ok1
top > active1 > plus2 > U813 > U823 > isNat1 > tt
top > active1 > plus2 > U813 > U823 > U833 > U842 > ok1
top > active1 > x2 > U1012 > ok1
top > active1 > x2 > isNat1 > ok1
top > active1 > x2 > isNat1 > tt
top > active1 > x2 > U612 > U621 > ok1
top > active1 > x2 > U612 > U621 > tt
top > active1 > x2 > U912 > U921 > ok1
top > active1 > x2 > U912 > U921 > 0 > tt
top > active1 > U151 > isNat1 > ok1
top > active1 > U151 > isNat1 > tt
top > active1 > U222 > isNat1 > ok1
top > active1 > U222 > isNat1 > tt
top > active1 > U222 > U231 > ok1
top > active1 > U222 > U231 > tt
top > active1 > s1 > U1012 > ok1
top > active1 > s1 > U212 > ok1
top > active1 > s1 > U511 > ok1
top > active1 > s1 > U511 > tt
top > active1 > s1 > U813 > U823 > isNat1 > ok1
top > active1 > s1 > U813 > U823 > isNat1 > tt
top > active1 > s1 > U813 > U823 > U833 > U842 > ok1
top > proper1 > U1022 > U1032 > U1043 > ok1
top > proper1 > U1022 > isNat1 > ok1
top > proper1 > U1022 > isNat1 > tt
top > proper1 > plus2 > U112 > U122 > U132 > U142 > ok1
top > proper1 > plus2 > U412 > U421 > ok1
top > proper1 > plus2 > U412 > U421 > tt
top > proper1 > plus2 > U712 > U721 > ok1
top > proper1 > plus2 > U813 > U823 > isNat1 > ok1
top > proper1 > plus2 > U813 > U823 > isNat1 > tt
top > proper1 > plus2 > U813 > U823 > U833 > U842 > ok1
top > proper1 > x2 > U1012 > ok1
top > proper1 > x2 > isNat1 > ok1
top > proper1 > x2 > isNat1 > tt
top > proper1 > x2 > U612 > U621 > ok1
top > proper1 > x2 > U612 > U621 > tt
top > proper1 > x2 > U912 > U921 > ok1
top > proper1 > x2 > U912 > U921 > 0 > tt
top > proper1 > U151 > isNat1 > ok1
top > proper1 > U151 > isNat1 > tt
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U222 > isNat1 > tt
top > proper1 > U222 > U231 > ok1
top > proper1 > U222 > U231 > tt
top > proper1 > s1 > U1012 > ok1
top > proper1 > s1 > U212 > ok1
top > proper1 > s1 > U511 > ok1
top > proper1 > s1 > U511 > tt
top > proper1 > s1 > U813 > U823 > isNat1 > ok1
top > proper1 > s1 > U813 > U823 > isNat1 > tt
top > proper1 > s1 > U813 > U823 > U833 > U842 > ok1
ok1: [1]
active1: [1]
U1012: [2,1]
tt: []
U1022: [2,1]
U1032: [2,1]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [1,2]
U112: [2,1]
U122: [1,2]
U132: [2,1]
U142: [1,2]
U151: [1]
U212: [1,2]
U222: [1,2]
U231: [1]
U412: [1,2]
U421: [1]
U511: [1]
U612: [2,1]
U621: [1]
U712: [1,2]
U721: [1]
U813: [2,1,3]
U823: [1,2,3]
U833: [3,1,2]
U842: [1,2]
s1: [1]
U912: [1,2]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > tt > U1023 > mark1 > top
active1 > tt > U1033 > U1043 > x2 > mark1 > top
active1 > tt > plus2 > U113 > U123 > mark1 > top
active1 > tt > plus2 > U411 > mark1 > top
active1 > tt > plus2 > U712 > mark1 > top
active1 > tt > plus2 > U813 > mark1 > top
active1 > tt > U133 > mark1 > top
active1 > tt > U143 > U152 > mark1 > top
active1 > tt > U161 > mark1 > top
active1 > tt > U333 > mark1 > top
active1 > tt > U343 > mark1 > top
active1 > tt > U352 > mark1 > top
active1 > tt > U361 > mark1 > top
active1 > tt > U421 > mark1 > top
active1 > tt > U722 > mark1 > top
active1 > tt > U823 > isNat1 > isNatKind > U411 > mark1 > top
active1 > tt > U823 > isNat1 > isNatKind > U511 > mark1 > top
active1 > tt > U823 > isNat1 > isNatKind > U611 > U621 > mark1 > top
active1 > tt > U823 > isNat1 > U113 > U123 > mark1 > top
active1 > tt > U823 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > tt > U823 > isNat1 > U313 > U323 > mark1 > top
active1 > tt > U843 > mark1 > top
active1 > tt > U921 > mark1 > top
active1 > tt > U921 > 0
active1 > U833 > isNatKind > U411 > mark1 > top
active1 > U833 > isNatKind > U511 > mark1 > top
active1 > U833 > isNatKind > U611 > U621 > mark1 > top
active1 > U833 > U843 > mark1 > top
active1 > s1 > U1013 > U1023 > mark1 > top
active1 > s1 > isNat1 > isNatKind > U411 > mark1 > top
active1 > s1 > isNat1 > isNatKind > U511 > mark1 > top
active1 > s1 > isNat1 > isNatKind > U611 > U621 > mark1 > top
active1 > s1 > isNat1 > U113 > U123 > mark1 > top
active1 > s1 > isNat1 > U212 > U222 > U231 > mark1 > top
active1 > s1 > isNat1 > U313 > U323 > mark1 > top
active1 > s1 > U813 > mark1 > top
X2: [1,2]
mark1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1023: [3,1,2]
isNatKind: []
U1033: [1,3,2]
isNat1: [1]
U1043: [1,3,2]
plus2: [1,2]
x2: [1,2]
U113: [3,1,2]
U123: [2,3,1]
U133: [1,3,2]
U143: [1,3,2]
U152: [2,1]
U161: [1]
U212: [1,2]
U222: [2,1]
U231: [1]
U313: [1,3,2]
U323: [2,3,1]
U333: [2,3,1]
U343: [2,3,1]
U352: [2,1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [1,3,2]
U833: [3,2,1]
U843: [1,2,3]
s1: [1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1023 > U1033 > isNatKind > mark1
active1 > U1023 > U1033 > isNatKind > tt
active1 > U1023 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U1023 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U1023 > isNat > U211 > mark1
active1 > U1023 > isNat > U311 > isNatKind > mark1
active1 > U1023 > isNat > U311 > isNatKind > tt
active1 > U1043 > plus2 > isNatKind > mark1
active1 > U1043 > plus2 > isNatKind > tt
active1 > U1043 > plus2 > U411 > mark1
active1 > U1043 > plus2 > U712 > mark1
active1 > x2 > U1013 > isNatKind > mark1
active1 > x2 > U1013 > isNatKind > tt
active1 > x2 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > x2 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > x2 > isNat > U211 > mark1
active1 > x2 > isNat > U311 > isNatKind > mark1
active1 > x2 > isNat > U311 > isNatKind > tt
active1 > x2 > U611 > isNatKind > mark1
active1 > x2 > U611 > isNatKind > tt
active1 > x2 > U611 > U621 > mark1
active1 > x2 > U611 > U621 > tt
active1 > U141 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U141 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U141 > isNat > U211 > mark1
active1 > U141 > isNat > U311 > isNatKind > mark1
active1 > U141 > isNat > U311 > isNatKind > tt
active1 > U161 > mark1
active1 > U161 > tt
active1 > U221 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U221 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U221 > isNat > U211 > mark1
active1 > U221 > isNat > U311 > isNatKind > mark1
active1 > U221 > isNat > U311 > isNatKind > tt
active1 > U221 > U231 > mark1
active1 > U221 > U231 > tt
active1 > U331 > isNatKind > mark1
active1 > U331 > isNatKind > tt
active1 > U341 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U341 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U341 > isNat > U211 > mark1
active1 > U341 > isNat > U311 > isNatKind > mark1
active1 > U341 > isNat > U311 > isNatKind > tt
active1 > U351 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U351 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U351 > isNat > U211 > mark1
active1 > U351 > isNat > U311 > isNatKind > mark1
active1 > U351 > isNat > U311 > isNatKind > tt
active1 > U351 > U361 > mark1
active1 > U351 > U361 > tt
active1 > U421 > mark1
active1 > U421 > tt
active1 > U511 > mark1
active1 > U511 > tt
active1 > U722 > mark1
active1 > U813 > U823 > isNat > U111 > U121 > U131 > isNatKind > mark1
active1 > U813 > U823 > isNat > U111 > U121 > U131 > isNatKind > tt
active1 > U813 > U823 > isNat > U211 > mark1
active1 > U813 > U823 > isNat > U311 > isNatKind > mark1
active1 > U813 > U823 > isNat > U311 > isNatKind > tt
active1 > U813 > U823 > U833 > isNatKind > mark1
active1 > U813 > U823 > U833 > isNatKind > tt
active1 > U843 > plus2 > isNatKind > mark1
active1 > U843 > plus2 > isNatKind > tt
active1 > U843 > plus2 > U411 > mark1
active1 > U843 > plus2 > U712 > mark1
active1 > 0 > tt
active1 > 0 > U712 > mark1
PLUS1: [1]
mark1: [1]
active1: [1]
U1013: [2,3,1]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [1,2,3]
isNat: []
U1043: [2,3,1]
plus2: [1,2]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U161: [1]
U211: [1]
U221: [1]
U231: [1]
U311: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,2,1]
U823: [1,3,2]
U833: [1,3,2]
U843: [1,3,2]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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(mark(X1), X2) → PLUS(X1, X2)
active1 > isNat1 > tt > U1023 > mark1
active1 > isNat1 > tt > U1033 > isNatKind1 > U412 > mark1
active1 > isNat1 > tt > U1033 > isNatKind1 > U612 > mark1
active1 > isNat1 > tt > U1043 > plus2 > U412 > mark1
active1 > isNat1 > tt > U1043 > plus2 > U712 > mark1
active1 > isNat1 > tt > U1043 > plus2 > U813 > mark1
active1 > isNat1 > tt > U1043 > x2 > U1013 > mark1
active1 > isNat1 > tt > U1043 > x2 > U313 > isNatKind1 > U412 > mark1
active1 > isNat1 > tt > U1043 > x2 > U313 > isNatKind1 > U612 > mark1
active1 > isNat1 > tt > U1043 > x2 > U912 > mark1
active1 > isNat1 > tt > U123 > isNatKind1 > U412 > mark1
active1 > isNat1 > tt > U123 > isNatKind1 > U612 > mark1
active1 > isNat1 > tt > U123 > U133 > U143 > mark1
active1 > isNat1 > tt > U152 > mark1
active1 > isNat1 > tt > U222 > U231 > mark1
active1 > isNat1 > tt > U333 > isNatKind1 > U412 > mark1
active1 > isNat1 > tt > U333 > isNatKind1 > U612 > mark1
active1 > isNat1 > tt > U343 > U352 > mark1
active1 > isNat1 > tt > U361 > mark1
active1 > isNat1 > tt > U621 > mark1
active1 > isNat1 > tt > U722 > mark1
active1 > isNat1 > tt > U823 > mark1
active1 > isNat1 > tt > U833 > isNatKind1 > U412 > mark1
active1 > isNat1 > tt > U833 > isNatKind1 > U612 > mark1
active1 > isNat1 > tt > U843 > plus2 > U412 > mark1
active1 > isNat1 > tt > U843 > plus2 > U712 > mark1
active1 > isNat1 > tt > U843 > plus2 > U813 > mark1
active1 > isNat1 > tt > U921 > mark1
active1 > isNat1 > tt > 0 > U712 > mark1
active1 > isNat1 > tt > 0 > U912 > mark1
active1 > isNat1 > U212 > mark1
active1 > U113 > U123 > isNatKind1 > U412 > mark1
active1 > U113 > U123 > isNatKind1 > U612 > mark1
active1 > U113 > U123 > U133 > U143 > mark1
active1 > U323 > U333 > isNatKind1 > U412 > mark1
active1 > U323 > U333 > isNatKind1 > U612 > mark1
active1 > U511 > mark1
proper1 > isNat1 > tt > U1023 > mark1
proper1 > isNat1 > tt > U1033 > isNatKind1 > U412 > mark1
proper1 > isNat1 > tt > U1033 > isNatKind1 > U612 > mark1
proper1 > isNat1 > tt > U1043 > plus2 > U412 > mark1
proper1 > isNat1 > tt > U1043 > plus2 > U712 > mark1
proper1 > isNat1 > tt > U1043 > plus2 > U813 > mark1
proper1 > isNat1 > tt > U1043 > x2 > U1013 > mark1
proper1 > isNat1 > tt > U1043 > x2 > U313 > isNatKind1 > U412 > mark1
proper1 > isNat1 > tt > U1043 > x2 > U313 > isNatKind1 > U612 > mark1
proper1 > isNat1 > tt > U1043 > x2 > U912 > mark1
proper1 > isNat1 > tt > U123 > isNatKind1 > U412 > mark1
proper1 > isNat1 > tt > U123 > isNatKind1 > U612 > mark1
proper1 > isNat1 > tt > U123 > U133 > U143 > mark1
proper1 > isNat1 > tt > U152 > mark1
proper1 > isNat1 > tt > U222 > U231 > mark1
proper1 > isNat1 > tt > U333 > isNatKind1 > U412 > mark1
proper1 > isNat1 > tt > U333 > isNatKind1 > U612 > mark1
proper1 > isNat1 > tt > U343 > U352 > mark1
proper1 > isNat1 > tt > U361 > mark1
proper1 > isNat1 > tt > U621 > mark1
proper1 > isNat1 > tt > U722 > mark1
proper1 > isNat1 > tt > U823 > mark1
proper1 > isNat1 > tt > U833 > isNatKind1 > U412 > mark1
proper1 > isNat1 > tt > U833 > isNatKind1 > U612 > mark1
proper1 > isNat1 > tt > U843 > plus2 > U412 > mark1
proper1 > isNat1 > tt > U843 > plus2 > U712 > mark1
proper1 > isNat1 > tt > U843 > plus2 > U813 > mark1
proper1 > isNat1 > tt > U921 > mark1
proper1 > isNat1 > tt > 0 > U712 > mark1
proper1 > isNat1 > tt > 0 > U912 > mark1
proper1 > isNat1 > U212 > mark1
proper1 > U113 > U123 > isNatKind1 > U412 > mark1
proper1 > U113 > U123 > isNatKind1 > U612 > mark1
proper1 > U113 > U123 > U133 > U143 > mark1
proper1 > U323 > U333 > isNatKind1 > U412 > mark1
proper1 > U323 > U333 > isNatKind1 > U612 > mark1
proper1 > U511 > mark1
PLUS1: [1]
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [3,2,1]
isNatKind1: [1]
U1033: [1,3,2]
isNat1: [1]
U1043: [2,1,3]
plus2: [2,1]
x2: [2,1]
U113: [1,2,3]
U123: [1,2,3]
U133: [1,3,2]
U143: [1,3,2]
U152: [2,1]
U212: [2,1]
U222: [2,1]
U231: [1]
U313: [1,2,3]
U323: [2,3,1]
U333: [3,2,1]
U343: [3,2,1]
U352: [2,1]
U361: [1]
U412: [2,1]
U511: [1]
U612: [1,2]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [2,3,1]
U823: [1,3,2]
U833: [2,1,3]
U843: [3,2,1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
proper1 > U1011 > ok1 > mark
proper1 > U1033 > isNatKind1 > ok1 > mark
proper1 > U1033 > U1042 > ok1 > mark
proper1 > U112 > ok1 > mark
proper1 > U212 > ok1 > mark
proper1 > 0 > tt > U1022 > ok1 > mark
proper1 > 0 > tt > U1042 > ok1 > mark
proper1 > 0 > tt > U122 > isNatKind1 > ok1 > mark
proper1 > 0 > tt > U122 > U133 > ok1 > mark
proper1 > 0 > tt > U331 > isNatKind1 > ok1 > mark
proper1 > 0 > tt > U342 > ok1 > mark
top > mark
ok1: [1]
U1011: [1]
tt: []
mark: []
U1022: [1,2]
isNatKind1: [1]
U1033: [3,2,1]
U1042: [1,2]
U112: [1,2]
U122: [1,2]
U133: [2,3,1]
U212: [1,2]
U331: [1]
U342: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U1041(X1, X2, X3)
proper1 > U111 > active1 > tt > U1023 > ok1 > mark
proper1 > U111 > active1 > tt > x2 > ok1 > mark
proper1 > U111 > active1 > tt > U121 > ok1 > mark
proper1 > U111 > active1 > tt > U141 > ok1 > mark
proper1 > U111 > active1 > tt > U321 > ok1 > mark
proper1 > U111 > active1 > tt > 0 > ok1 > mark
proper1 > U111 > active1 > U131 > U141 > ok1 > mark
proper1 > U111 > active1 > U161 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U111 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > tt > U1023 > ok1 > mark
proper1 > U151 > active1 > tt > x2 > ok1 > mark
proper1 > U151 > active1 > tt > U121 > ok1 > mark
proper1 > U151 > active1 > tt > U141 > ok1 > mark
proper1 > U151 > active1 > tt > U321 > ok1 > mark
proper1 > U151 > active1 > tt > 0 > ok1 > mark
proper1 > U151 > active1 > U131 > U141 > ok1 > mark
proper1 > U151 > active1 > U161 > ok1 > mark
proper1 > U151 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U151 > isNat1 > tt > x2 > ok1 > mark
proper1 > U151 > isNat1 > tt > U121 > ok1 > mark
proper1 > U151 > isNat1 > tt > U141 > ok1 > mark
proper1 > U151 > isNat1 > tt > U321 > ok1 > mark
proper1 > U151 > isNat1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > tt > U1023 > ok1 > mark
proper1 > U221 > active1 > tt > x2 > ok1 > mark
proper1 > U221 > active1 > tt > U121 > ok1 > mark
proper1 > U221 > active1 > tt > U141 > ok1 > mark
proper1 > U221 > active1 > tt > U321 > ok1 > mark
proper1 > U221 > active1 > tt > 0 > ok1 > mark
proper1 > U221 > active1 > U131 > U141 > ok1 > mark
proper1 > U221 > active1 > U161 > ok1 > mark
proper1 > U221 > isNat1 > tt > U1023 > ok1 > mark
proper1 > U221 > isNat1 > tt > x2 > ok1 > mark
proper1 > U221 > isNat1 > tt > U121 > ok1 > mark
proper1 > U221 > isNat1 > tt > U141 > ok1 > mark
proper1 > U221 > isNat1 > tt > U321 > ok1 > mark
proper1 > U221 > isNat1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > tt > U1023 > ok1 > mark
proper1 > U311 > active1 > tt > x2 > ok1 > mark
proper1 > U311 > active1 > tt > U121 > ok1 > mark
proper1 > U311 > active1 > tt > U141 > ok1 > mark
proper1 > U311 > active1 > tt > U321 > ok1 > mark
proper1 > U311 > active1 > tt > 0 > ok1 > mark
proper1 > U311 > active1 > U131 > U141 > ok1 > mark
proper1 > U311 > active1 > U161 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U311 > isNatKind1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > tt > U1023 > ok1 > mark
proper1 > U832 > active1 > tt > x2 > ok1 > mark
proper1 > U832 > active1 > tt > U121 > ok1 > mark
proper1 > U832 > active1 > tt > U141 > ok1 > mark
proper1 > U832 > active1 > tt > U321 > ok1 > mark
proper1 > U832 > active1 > tt > 0 > ok1 > mark
proper1 > U832 > active1 > U131 > U141 > ok1 > mark
proper1 > U832 > active1 > U161 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U1023 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > x2 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > U321 > ok1 > mark
proper1 > U832 > isNatKind1 > tt > 0 > ok1 > mark
top > active1 > tt > U1023 > ok1 > mark
top > active1 > tt > x2 > ok1 > mark
top > active1 > tt > U121 > ok1 > mark
top > active1 > tt > U141 > ok1 > mark
top > active1 > tt > U321 > ok1 > mark
top > active1 > tt > 0 > ok1 > mark
top > active1 > U131 > U141 > ok1 > mark
top > active1 > U161 > ok1 > mark
ok1: [1]
mark: []
active1: [1]
tt: []
U1023: [3,1,2]
isNatKind1: [1]
isNat1: [1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U221: [1]
U311: [1]
U321: [1]
U832: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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 > tt > U1023 > mark1 > top
active1 > tt > U1023 > isNat
active1 > tt > isNatKind > U411 > mark1 > top
active1 > tt > isNatKind > U511 > mark1 > top
active1 > tt > isNatKind > U611 > U621 > mark1 > top
active1 > tt > U1033 > mark1 > top
active1 > tt > U1043 > plus2 > mark1 > top
active1 > tt > U1043 > plus2 > isNat
active1 > tt > U121 > mark1 > top
active1 > tt > U151 > mark1 > top
active1 > tt > U151 > isNat
active1 > tt > U161 > mark1 > top
active1 > tt > U231 > mark1 > top
active1 > tt > U331 > U341 > mark1 > top
active1 > tt > U331 > U341 > isNat
active1 > tt > U351 > mark1 > top
active1 > tt > U351 > isNat
active1 > tt > U421 > mark1 > top
active1 > tt > U722 > mark1 > top
active1 > tt > U823 > mark1 > top
active1 > tt > U823 > isNat
active1 > tt > U833 > U843 > plus2 > mark1 > top
active1 > tt > U833 > U843 > plus2 > isNat
active1 > tt > 0 > mark1 > top
active1 > tt > 0 > isNat
active1 > x2 > U1013 > mark1 > top
active1 > x2 > isNatKind > U411 > mark1 > top
active1 > x2 > isNatKind > U511 > mark1 > top
active1 > x2 > isNatKind > U611 > U621 > mark1 > top
active1 > x2 > isNat
active1 > x2 > U311 > mark1 > top
active1 > U111 > mark1 > top
active1 > U131 > isNatKind > U411 > mark1 > top
active1 > U131 > isNatKind > U511 > mark1 > top
active1 > U131 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > isNatKind > U411 > mark1 > top
active1 > U321 > isNatKind > U511 > mark1 > top
active1 > U321 > isNatKind > U611 > U621 > mark1 > top
active1 > U321 > U331 > U341 > mark1 > top
active1 > U321 > U331 > U341 > isNat
active1 > U712 > mark1 > top
active1 > U813 > mark1 > top
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [2,1,3]
plus2: [2,1]
x2: [1,2]
U111: [1]
U121: [1]
U131: [1]
U151: [1]
U161: [1]
U231: [1]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U351: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [1,2]
U722: [2,1]
U813: [2,3,1]
U823: [2,3,1]
U833: [1,2,3]
U843: [1,3,2]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(mark(X1), X2, X3) → U1031(X1, X2, X3)
active1 > U1013 > U1023 > mark1 > U103^11
active1 > U1013 > isNatKind > U611 > mark1 > U103^11
active1 > U113 > U123 > U133 > isNatKind > U611 > mark1 > U103^11
active1 > U222 > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
active1 > U222 > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
active1 > U323 > U333 > isNatKind > U611 > mark1 > U103^11
active1 > U343 > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
active1 > U343 > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
active1 > U343 > U352 > mark1 > U103^11
active1 > U361 > tt > U1023 > mark1 > U103^11
active1 > U361 > tt > U1033 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > U1033 > U1043 > mark1 > U103^11
active1 > U361 > tt > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > plus2 > U411 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > plus2 > U712 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > plus2 > U813 > mark1 > U103^11
active1 > U361 > tt > x2 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > U123 > U133 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > U143 > U152 > mark1 > U103^11
active1 > U361 > tt > U161 > mark1 > U103^11
active1 > U361 > tt > U333 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > U352 > mark1 > U103^11
active1 > U361 > tt > U621 > mark1 > U103^11
active1 > U361 > tt > U722 > mark1 > U103^11
active1 > U361 > tt > U823 > mark1 > U103^11
active1 > U361 > tt > s1 > isNatKind > U611 > mark1 > U103^11
active1 > U361 > tt > s1 > U813 > mark1 > U103^11
active1 > U361 > tt > 0 > U103^11
active1 > U833 > U843 > plus2 > U411 > isNatKind > U611 > mark1 > U103^11
active1 > U833 > U843 > plus2 > U712 > isNatKind > U611 > mark1 > U103^11
active1 > U833 > U843 > plus2 > U813 > mark1 > U103^11
active1 > U833 > U843 > s1 > isNatKind > U611 > mark1 > U103^11
active1 > U833 > U843 > s1 > U813 > mark1 > U103^11
active1 > U912 > isNatKind > U611 > mark1 > U103^11
proper1 > U1013 > U1023 > mark1 > U103^11
proper1 > U1013 > isNatKind > U611 > mark1 > U103^11
proper1 > U113 > U123 > U133 > isNatKind > U611 > mark1 > U103^11
proper1 > U222 > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
proper1 > U222 > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
proper1 > U323 > U333 > isNatKind > U611 > mark1 > U103^11
proper1 > U343 > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
proper1 > U343 > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
proper1 > U343 > U352 > mark1 > U103^11
proper1 > U361 > tt > U1023 > mark1 > U103^11
proper1 > U361 > tt > U1033 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > U1033 > U1043 > mark1 > U103^11
proper1 > U361 > tt > isNat1 > U212 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > isNat1 > U313 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > plus2 > U411 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > plus2 > U712 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > plus2 > U813 > mark1 > U103^11
proper1 > U361 > tt > x2 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > U123 > U133 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > U143 > U152 > mark1 > U103^11
proper1 > U361 > tt > U161 > mark1 > U103^11
proper1 > U361 > tt > U333 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > U352 > mark1 > U103^11
proper1 > U361 > tt > U621 > mark1 > U103^11
proper1 > U361 > tt > U722 > mark1 > U103^11
proper1 > U361 > tt > U823 > mark1 > U103^11
proper1 > U361 > tt > s1 > isNatKind > U611 > mark1 > U103^11
proper1 > U361 > tt > s1 > U813 > mark1 > U103^11
proper1 > U361 > tt > 0 > U103^11
proper1 > U833 > U843 > plus2 > U411 > isNatKind > U611 > mark1 > U103^11
proper1 > U833 > U843 > plus2 > U712 > isNatKind > U611 > mark1 > U103^11
proper1 > U833 > U843 > plus2 > U813 > mark1 > U103^11
proper1 > U833 > U843 > s1 > isNatKind > U611 > mark1 > U103^11
proper1 > U833 > U843 > s1 > U813 > mark1 > U103^11
proper1 > U912 > isNatKind > U611 > mark1 > U103^11
top > U103^11
U103^11: [1]
mark1: [1]
active1: [1]
U1013: [1,2,3]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [1,3,2]
isNat1: [1]
U1043: [1,2,3]
plus2: [1,2]
x2: [1,2]
U113: [2,3,1]
U123: [1,3,2]
U133: [1,3,2]
U143: [3,1,2]
U152: [2,1]
U161: [1]
U212: [2,1]
U222: [1,2]
U313: [1,2,3]
U323: [1,2,3]
U333: [2,3,1]
U343: [2,3,1]
U352: [2,1]
U361: [1]
U411: [1]
U611: [1]
U621: [1]
U712: [1,2]
U722: [2,1]
U813: [1,3,2]
U823: [3,2,1]
U833: [1,2,3]
U843: [3,2,1]
s1: [1]
U912: [2,1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active1 > U1011 > ok1 > mark
active1 > U1022 > isNat1 > U212 > ok1 > mark
active1 > plus2 > isNat1 > U212 > ok1 > mark
active1 > plus2 > U812 > ok1 > mark
active1 > x2 > isNat1 > U212 > ok1 > mark
active1 > U121 > ok1 > mark
active1 > U141 > ok1 > mark
active1 > U151 > isNat1 > U212 > ok1 > mark
active1 > U222 > isNat1 > U212 > ok1 > mark
active1 > U222 > U231 > ok1 > mark
active1 > U321 > U332 > ok1 > mark
active1 > U722 > ok1 > mark
active1 > U822 > ok1 > mark
active1 > 0 > ok1 > mark
proper1 > U1011 > ok1 > mark
proper1 > isNatKind1 > tt > U1022 > isNat1 > U212 > ok1 > mark
proper1 > isNatKind1 > tt > plus2 > isNat1 > U212 > ok1 > mark
proper1 > isNatKind1 > tt > plus2 > U812 > ok1 > mark
proper1 > isNatKind1 > tt > x2 > isNat1 > U212 > ok1 > mark
proper1 > isNatKind1 > tt > U121 > ok1 > mark
proper1 > isNatKind1 > tt > U141 > ok1 > mark
proper1 > isNatKind1 > tt > U151 > isNat1 > U212 > ok1 > mark
proper1 > isNatKind1 > tt > U222 > isNat1 > U212 > ok1 > mark
proper1 > isNatKind1 > tt > U222 > U231 > ok1 > mark
proper1 > isNatKind1 > tt > U321 > U332 > ok1 > mark
proper1 > isNatKind1 > tt > U722 > ok1 > mark
proper1 > isNatKind1 > tt > U822 > ok1 > mark
proper1 > isNatKind1 > tt > 0 > ok1 > mark
top > mark
ok1: [1]
active1: [1]
U1011: [1]
tt: []
mark: []
U1022: [2,1]
isNatKind1: [1]
isNat1: [1]
plus2: [2,1]
x2: [1,2]
U121: [1]
U141: [1]
U151: [1]
U212: [1,2]
U222: [2,1]
U231: [1]
U321: [1]
U332: [1,2]
U722: [2,1]
U812: [1,2]
U822: [1,2]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(ok(X1), ok(X2), ok(X3)) → U1021(X1, X2, X3)
top > active1 > U1013 > U1022 > U1033 > ok1
top > active1 > U1013 > U1022 > isNat1 > ok1
top > active1 > U113 > ok1
top > active1 > U123 > U131 > U141 > ok1
top > active1 > U151 > isNat1 > ok1
top > active1 > U151 > U161 > ok1
top > active1 > U222 > isNat1 > ok1
top > active1 > U313 > U323 > U332 > ok1
top > active1 > U351 > isNat1 > ok1
top > active1 > U511 > tt > U1022 > U1033 > ok1
top > active1 > U511 > tt > U1022 > isNat1 > ok1
top > active1 > U511 > tt > U1043 > plus2 > ok1
top > active1 > U511 > tt > U1043 > x2 > U611 > ok1
top > active1 > U511 > tt > U141 > ok1
top > active1 > U511 > tt > U161 > ok1
top > active1 > U511 > tt > U323 > U332 > ok1
top > active1 > U511 > tt > U342 > isNat1 > ok1
top > active1 > U511 > tt > U621 > ok1
top > active1 > U511 > tt > U832 > U842 > ok1
top > active1 > U511 > tt > 0 > ok1
top > active1 > U711 > ok1
top > active1 > U812 > U822 > isNat1 > ok1
top > active1 > U812 > U822 > U832 > U842 > ok1
top > active1 > s1 > isNat1 > ok1
top > proper1 > U1013 > U1022 > U1033 > ok1
top > proper1 > U1013 > U1022 > isNat1 > ok1
top > proper1 > U113 > ok1
top > proper1 > U123 > U131 > U141 > ok1
top > proper1 > U151 > isNat1 > ok1
top > proper1 > U151 > U161 > ok1
top > proper1 > U222 > isNat1 > ok1
top > proper1 > U313 > U323 > U332 > ok1
top > proper1 > U351 > isNat1 > ok1
top > proper1 > U511 > tt > U1022 > U1033 > ok1
top > proper1 > U511 > tt > U1022 > isNat1 > ok1
top > proper1 > U511 > tt > U1043 > plus2 > ok1
top > proper1 > U511 > tt > U1043 > x2 > U611 > ok1
top > proper1 > U511 > tt > U141 > ok1
top > proper1 > U511 > tt > U161 > ok1
top > proper1 > U511 > tt > U323 > U332 > ok1
top > proper1 > U511 > tt > U342 > isNat1 > ok1
top > proper1 > U511 > tt > U621 > ok1
top > proper1 > U511 > tt > U832 > U842 > ok1
top > proper1 > U511 > tt > 0 > ok1
top > proper1 > U711 > ok1
top > proper1 > U812 > U822 > isNat1 > ok1
top > proper1 > U812 > U822 > U832 > U842 > ok1
top > proper1 > s1 > isNat1 > ok1
U102^11: [1]
ok1: [1]
active1: [1]
U1013: [3,1,2]
tt: []
U1022: [2,1]
U1033: [3,2,1]
isNat1: [1]
U1043: [1,3,2]
plus2: [1,2]
x2: [1,2]
U113: [1,2,3]
U123: [1,2,3]
U131: [1]
U141: [1]
U151: [1]
U161: [1]
U222: [1,2]
U313: [1,2,3]
U323: [1,2,3]
U332: [1,2]
U342: [1,2]
U351: [1]
U511: [1]
U611: [1]
U621: [1]
U711: [1]
U812: [2,1]
U822: [2,1]
U832: [1,2]
U842: [2,1]
s1: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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)
active1 > U1013 > U1023 > mark1 > U102^11
active1 > U1013 > U1023 > mark1 > top
active1 > U1013 > U1023 > isNat
active1 > U1013 > isNatKind
active1 > U1033 > U1043 > plus2 > mark1 > U102^11
active1 > U1033 > U1043 > plus2 > mark1 > top
active1 > U1033 > U1043 > plus2 > isNatKind
active1 > U1033 > U1043 > plus2 > isNat
active1 > U1033 > U1043 > x2 > mark1 > U102^11
active1 > U1033 > U1043 > x2 > mark1 > top
active1 > U1033 > U1043 > x2 > isNatKind
active1 > U1033 > U1043 > x2 > isNat
active1 > U131 > mark1 > U102^11
active1 > U131 > mark1 > top
active1 > U131 > isNatKind
active1 > U151 > U161 > mark1 > U102^11
active1 > U151 > U161 > mark1 > top
active1 > U151 > U161 > tt > isNatKind
active1 > U151 > U161 > tt > isNat
active1 > U231 > mark1 > U102^11
active1 > U231 > mark1 > top
active1 > U231 > tt > isNatKind
active1 > U231 > tt > isNat
active1 > U321 > mark1 > U102^11
active1 > U321 > mark1 > top
active1 > U321 > isNatKind
active1 > U341 > mark1 > U102^11
active1 > U341 > mark1 > top
active1 > U341 > isNat
active1 > U361 > mark1 > U102^11
active1 > U361 > mark1 > top
active1 > U361 > tt > isNatKind
active1 > U361 > tt > isNat
active1 > U411 > U421 > mark1 > U102^11
active1 > U411 > U421 > mark1 > top
active1 > U411 > U421 > tt > isNatKind
active1 > U411 > U421 > tt > isNat
active1 > U511 > mark1 > U102^11
active1 > U511 > mark1 > top
active1 > U511 > tt > isNatKind
active1 > U511 > tt > isNat
active1 > U621 > mark1 > U102^11
active1 > U621 > mark1 > top
active1 > U621 > tt > isNatKind
active1 > U621 > tt > isNat
active1 > U712 > isNatKind
active1 > U712 > U722 > mark1 > U102^11
active1 > U712 > U722 > mark1 > top
active1 > U823 > mark1 > U102^11
active1 > U823 > mark1 > top
active1 > U823 > isNat
active1 > U833 > isNatKind
active1 > U833 > U843 > mark1 > U102^11
active1 > U833 > U843 > mark1 > top
active1 > s1 > isNat
active1 > s1 > U211 > mark1 > U102^11
active1 > s1 > U211 > mark1 > top
active1 > s1 > U211 > isNatKind
active1 > s1 > U813 > mark1 > U102^11
active1 > s1 > U813 > mark1 > top
active1 > s1 > U813 > isNatKind
active1 > U921 > 0 > tt > isNatKind
active1 > U921 > 0 > tt > isNat
active1 > U921 > 0 > U911 > mark1 > U102^11
active1 > U921 > 0 > U911 > mark1 > top
active1 > U921 > 0 > U911 > isNatKind
U102^11: [1]
mark1: [1]
active1: [1]
U1013: [2,1,3]
tt: []
U1023: [2,3,1]
isNatKind: []
U1033: [2,3,1]
isNat: []
U1043: [3,2,1]
plus2: [1,2]
x2: [1,2]
U131: [1]
U151: [1]
U161: [1]
U211: [1]
U231: [1]
U321: [1]
U341: [1]
U361: [1]
U411: [1]
U421: [1]
U511: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,1,2]
U823: [1,2,3]
U833: [1,2,3]
U843: [1,3,2]
s1: [1]
U911: [1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(mark(X1), X2, X3) → U1011(X1, X2, X3)
top > active1 > U1023 > mark1 > isNat
top > active1 > U1033 > mark1 > isNat
top > active1 > U1043 > mark1 > isNat
top > active1 > plus2 > U111 > mark1 > isNat
top > active1 > plus2 > U411 > isNatKind > U511 > mark1 > isNat
top > active1 > plus2 > U411 > isNatKind > U511 > tt > isNat
top > active1 > plus2 > U712 > isNatKind > U511 > mark1 > isNat
top > active1 > plus2 > U712 > isNatKind > U511 > tt > isNat
top > active1 > plus2 > U712 > U722 > mark1 > isNat
top > active1 > plus2 > U813 > mark1 > isNat
top > active1 > x2 > U1013 > mark1 > isNat
top > active1 > x2 > U311 > isNatKind > U511 > mark1 > isNat
top > active1 > x2 > U311 > isNatKind > U511 > tt > isNat
top > active1 > x2 > U912 > mark1 > isNat
top > active1 > U121 > isNatKind > U511 > mark1 > isNat
top > active1 > U121 > isNatKind > U511 > tt > isNat
top > active1 > U121 > U131 > mark1 > isNat
top > active1 > U141 > mark1 > isNat
top > active1 > U161 > mark1 > isNat
top > active1 > U161 > tt > isNat
top > active1 > U331 > mark1 > isNat
top > active1 > U341 > mark1 > isNat
top > active1 > U421 > mark1 > isNat
top > active1 > U421 > tt > isNat
top > active1 > U611 > isNatKind > U511 > mark1 > isNat
top > active1 > U611 > isNatKind > U511 > tt > isNat
top > active1 > U611 > U621 > mark1 > isNat
top > active1 > U611 > U621 > tt > isNat
top > active1 > U823 > U833 > mark1 > isNat
top > active1 > U843 > s1 > U1013 > mark1 > isNat
top > active1 > U843 > s1 > U813 > mark1 > isNat
top > active1 > U921 > mark1 > isNat
top > active1 > U921 > 0 > tt > isNat
mark1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,3,2]
isNatKind: []
U1033: [2,1,3]
isNat: []
U1043: [3,1,2]
plus2: [2,1]
x2: [2,1]
U111: [1]
U121: [1]
U131: [1]
U141: [1]
U161: [1]
U311: [1]
U331: [1]
U341: [1]
U411: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [1,2,3]
U833: [1,2,3]
U843: [3,2,1]
s1: [1]
U912: [1,2]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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 > U1023 > U1033 > U1043 > ok1
active1 > U1023 > isNat1 > tt > U123 > U133 > ok1
active1 > U1023 > isNat1 > tt > U161 > ok1
active1 > U1023 > isNat1 > tt > U343 > U352 > ok1
active1 > U1023 > isNat1 > tt > s1 > ok1
active1 > U1023 > isNat1 > U112 > U123 > U133 > ok1
active1 > x2 > U1013 > ok1
active1 > x2 > isNat1 > tt > U123 > U133 > ok1
active1 > x2 > isNat1 > tt > U161 > ok1
active1 > x2 > isNat1 > tt > U343 > U352 > ok1
active1 > x2 > isNat1 > tt > s1 > ok1
active1 > x2 > isNat1 > U112 > U123 > U133 > ok1
active1 > x2 > U912 > ok1
active1 > U143 > isNat1 > tt > U123 > U133 > ok1
active1 > U143 > isNat1 > tt > U161 > ok1
active1 > U143 > isNat1 > tt > U343 > U352 > ok1
active1 > U143 > isNat1 > tt > s1 > ok1
active1 > U143 > isNat1 > U112 > U123 > U133 > ok1
active1 > U222 > isNat1 > tt > U123 > U133 > ok1
active1 > U222 > isNat1 > tt > U161 > ok1
active1 > U222 > isNat1 > tt > U343 > U352 > ok1
active1 > U222 > isNat1 > tt > s1 > ok1
active1 > U222 > isNat1 > U112 > U123 > U133 > ok1
active1 > U313 > U323 > ok1
active1 > U333 > U343 > U352 > ok1
active1 > U361 > tt > U123 > U133 > ok1
active1 > U361 > tt > U161 > ok1
active1 > U361 > tt > U343 > U352 > ok1
active1 > U361 > tt > s1 > ok1
active1 > U823 > isNat1 > tt > U123 > U133 > ok1
active1 > U823 > isNat1 > tt > U161 > ok1
active1 > U823 > isNat1 > tt > U343 > U352 > ok1
active1 > U823 > isNat1 > tt > s1 > ok1
active1 > U823 > isNat1 > U112 > U123 > U133 > ok1
active1 > U823 > U833 > ok1
active1 > U843 > plus2 > isNat1 > tt > U123 > U133 > ok1
active1 > U843 > plus2 > isNat1 > tt > U161 > ok1
active1 > U843 > plus2 > isNat1 > tt > U343 > U352 > ok1
active1 > U843 > plus2 > isNat1 > tt > s1 > ok1
active1 > U843 > plus2 > isNat1 > U112 > U123 > U133 > ok1
active1 > U843 > plus2 > U412 > ok1
active1 > U843 > plus2 > U813 > ok1
active1 > U921 > 0 > isNat1 > tt > U123 > U133 > ok1
active1 > U921 > 0 > isNat1 > tt > U161 > ok1
active1 > U921 > 0 > isNat1 > tt > U343 > U352 > ok1
active1 > U921 > 0 > isNat1 > tt > s1 > ok1
active1 > U921 > 0 > isNat1 > U112 > U123 > U133 > ok1
active1 > U921 > 0 > U912 > ok1
proper1 > U1023 > U1033 > U1043 > ok1
proper1 > U1023 > isNat1 > tt > U123 > U133 > ok1
proper1 > U1023 > isNat1 > tt > U161 > ok1
proper1 > U1023 > isNat1 > tt > U343 > U352 > ok1
proper1 > U1023 > isNat1 > tt > s1 > ok1
proper1 > U1023 > isNat1 > U112 > U123 > U133 > ok1
proper1 > x2 > U1013 > ok1
proper1 > x2 > isNat1 > tt > U123 > U133 > ok1
proper1 > x2 > isNat1 > tt > U161 > ok1
proper1 > x2 > isNat1 > tt > U343 > U352 > ok1
proper1 > x2 > isNat1 > tt > s1 > ok1
proper1 > x2 > isNat1 > U112 > U123 > U133 > ok1
proper1 > x2 > U912 > ok1
proper1 > U143 > isNat1 > tt > U123 > U133 > ok1
proper1 > U143 > isNat1 > tt > U161 > ok1
proper1 > U143 > isNat1 > tt > U343 > U352 > ok1
proper1 > U143 > isNat1 > tt > s1 > ok1
proper1 > U143 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U222 > isNat1 > tt > U123 > U133 > ok1
proper1 > U222 > isNat1 > tt > U161 > ok1
proper1 > U222 > isNat1 > tt > U343 > U352 > ok1
proper1 > U222 > isNat1 > tt > s1 > ok1
proper1 > U222 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U313 > U323 > ok1
proper1 > U333 > U343 > U352 > ok1
proper1 > U361 > tt > U123 > U133 > ok1
proper1 > U361 > tt > U161 > ok1
proper1 > U361 > tt > U343 > U352 > ok1
proper1 > U361 > tt > s1 > ok1
proper1 > U823 > isNat1 > tt > U123 > U133 > ok1
proper1 > U823 > isNat1 > tt > U161 > ok1
proper1 > U823 > isNat1 > tt > U343 > U352 > ok1
proper1 > U823 > isNat1 > tt > s1 > ok1
proper1 > U823 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U823 > U833 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U123 > U133 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U161 > ok1
proper1 > U843 > plus2 > isNat1 > tt > U343 > U352 > ok1
proper1 > U843 > plus2 > isNat1 > tt > s1 > ok1
proper1 > U843 > plus2 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U843 > plus2 > U412 > ok1
proper1 > U843 > plus2 > U813 > ok1
proper1 > U921 > 0 > isNat1 > tt > U123 > U133 > ok1
proper1 > U921 > 0 > isNat1 > tt > U161 > ok1
proper1 > U921 > 0 > isNat1 > tt > U343 > U352 > ok1
proper1 > U921 > 0 > isNat1 > tt > s1 > ok1
proper1 > U921 > 0 > isNat1 > U112 > U123 > U133 > ok1
proper1 > U921 > 0 > U912 > ok1
U101^11: [1]
ok1: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,3,2]
U1033: [1,3,2]
isNat1: [1]
U1043: [3,1,2]
plus2: [1,2]
x2: [2,1]
U112: [1,2]
U123: [3,2,1]
U133: [1,2,3]
U143: [1,2,3]
U161: [1]
U222: [1,2]
U313: [1,3,2]
U323: [1,3,2]
U333: [1,2,3]
U343: [1,2,3]
U352: [1,2]
U361: [1]
U412: [1,2]
U813: [1,2,3]
U823: [1,2,3]
U833: [3,1,2]
U843: [1,3,2]
s1: [1]
U912: [2,1]
U921: [1]
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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(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(s(X)) → PROPER(X)
PROPER(U91(X1, X2)) → PROPER(X1)
PROPER(U91(X1, X2)) → PROPER(X2)
U1033 > U1043 > PROPER1
U1033 > U1043 > plus2 > isNatKind1 > U412
U1033 > U1043 > plus2 > isNatKind1 > U612
U1033 > U1043 > plus2 > mark > U1023 > isNat1
U1033 > U1043 > plus2 > mark > U133 > U143 > isNat1
U1033 > U1043 > plus2 > mark > U212
U1033 > U1043 > plus2 > mark > U222 > isNat1
U1033 > U1043 > plus2 > mark > U313
U1033 > U1043 > plus2 > mark > U323
U1033 > U1043 > plus2 > mark > U343 > U352 > isNat1
U1033 > U1043 > plus2 > mark > U412
U1033 > U1043 > plus2 > mark > U612
U1033 > U1043 > plus2 > mark > U912
U1033 > U1043 > x2 > U1013 > U1023 > isNat1
U1033 > U1043 > x2 > isNatKind1 > U412
U1033 > U1043 > x2 > isNatKind1 > U612
U1033 > U1043 > x2 > mark > U1023 > isNat1
U1033 > U1043 > x2 > mark > U133 > U143 > isNat1
U1033 > U1043 > x2 > mark > U212
U1033 > U1043 > x2 > mark > U222 > isNat1
U1033 > U1043 > x2 > mark > U313
U1033 > U1043 > x2 > mark > U323
U1033 > U1043 > x2 > mark > U343 > U352 > isNat1
U1033 > U1043 > x2 > mark > U412
U1033 > U1043 > x2 > mark > U612
U1033 > U1043 > x2 > mark > U912
U113 > U123 > PROPER1
U113 > U123 > isNatKind1 > U412
U113 > U123 > isNatKind1 > U612
U113 > U123 > mark > U1023 > isNat1
U113 > U123 > mark > U133 > U143 > isNat1
U113 > U123 > mark > U212
U113 > U123 > mark > U222 > isNat1
U113 > U123 > mark > U313
U113 > U123 > mark > U323
U113 > U123 > mark > U343 > U352 > isNat1
U113 > U123 > mark > U412
U113 > U123 > mark > U612
U113 > U123 > mark > U912
U712 > isNatKind1 > U412
U712 > isNatKind1 > U612
U712 > mark > U1023 > isNat1
U712 > mark > U133 > U143 > isNat1
U712 > mark > U212
U712 > mark > U222 > isNat1
U712 > mark > U313
U712 > mark > U323
U712 > mark > U343 > U352 > isNat1
U712 > mark > U412
U712 > mark > U612
U712 > mark > U912
U722 > PROPER1
U722 > mark > U1023 > isNat1
U722 > mark > U133 > U143 > isNat1
U722 > mark > U212
U722 > mark > U222 > isNat1
U722 > mark > U313
U722 > mark > U323
U722 > mark > U343 > U352 > isNat1
U722 > mark > U412
U722 > mark > U612
U722 > mark > U912
s1 > PROPER1
s1 > U1013 > U1023 > isNat1
s1 > U813 > isNatKind1 > U412
s1 > U813 > isNatKind1 > U612
s1 > U813 > mark > U1023 > isNat1
s1 > U813 > mark > U133 > U143 > isNat1
s1 > U813 > mark > U212
s1 > U813 > mark > U222 > isNat1
s1 > U813 > mark > U313
s1 > U813 > mark > U323
s1 > U813 > mark > U343 > U352 > isNat1
s1 > U813 > mark > U412
s1 > U813 > mark > U612
s1 > U813 > mark > U912
tt > U1043 > PROPER1
tt > U1043 > plus2 > isNatKind1 > U412
tt > U1043 > plus2 > isNatKind1 > U612
tt > U1043 > plus2 > mark > U1023 > isNat1
tt > U1043 > plus2 > mark > U133 > U143 > isNat1
tt > U1043 > plus2 > mark > U212
tt > U1043 > plus2 > mark > U222 > isNat1
tt > U1043 > plus2 > mark > U313
tt > U1043 > plus2 > mark > U323
tt > U1043 > plus2 > mark > U343 > U352 > isNat1
tt > U1043 > plus2 > mark > U412
tt > U1043 > plus2 > mark > U612
tt > U1043 > plus2 > mark > U912
tt > U1043 > x2 > U1013 > U1023 > isNat1
tt > U1043 > x2 > isNatKind1 > U412
tt > U1043 > x2 > isNatKind1 > U612
tt > U1043 > x2 > mark > U1023 > isNat1
tt > U1043 > x2 > mark > U133 > U143 > isNat1
tt > U1043 > x2 > mark > U212
tt > U1043 > x2 > mark > U222 > isNat1
tt > U1043 > x2 > mark > U313
tt > U1043 > x2 > mark > U323
tt > U1043 > x2 > mark > U343 > U352 > isNat1
tt > U1043 > x2 > mark > U412
tt > U1043 > x2 > mark > U612
tt > U1043 > x2 > mark > U912
tt > U152 > mark > U1023 > isNat1
tt > U152 > mark > U133 > U143 > isNat1
tt > U152 > mark > U212
tt > U152 > mark > U222 > isNat1
tt > U152 > mark > U313
tt > U152 > mark > U323
tt > U152 > mark > U343 > U352 > isNat1
tt > U152 > mark > U412
tt > U152 > mark > U612
tt > U152 > mark > U912
tt > U333 > isNatKind1 > U412
tt > U333 > isNatKind1 > U612
tt > U333 > mark > U1023 > isNat1
tt > U333 > mark > U133 > U143 > isNat1
tt > U333 > mark > U212
tt > U333 > mark > U222 > isNat1
tt > U333 > mark > U313
tt > U333 > mark > U323
tt > U333 > mark > U343 > U352 > isNat1
tt > U333 > mark > U412
tt > U333 > mark > U612
tt > U333 > mark > U912
tt > U823 > mark > U1023 > isNat1
tt > U823 > mark > U133 > U143 > isNat1
tt > U823 > mark > U212
tt > U823 > mark > U222 > isNat1
tt > U823 > mark > U313
tt > U823 > mark > U323
tt > U823 > mark > U343 > U352 > isNat1
tt > U823 > mark > U412
tt > U823 > mark > U612
tt > U823 > mark > U912
tt > U833 > isNatKind1 > U412
tt > U833 > isNatKind1 > U612
tt > U833 > U843
tt > U833 > mark > U1023 > isNat1
tt > U833 > mark > U133 > U143 > isNat1
tt > U833 > mark > U212
tt > U833 > mark > U222 > isNat1
tt > U833 > mark > U313
tt > U833 > mark > U323
tt > U833 > mark > U343 > U352 > isNat1
tt > U833 > mark > U412
tt > U833 > mark > U612
tt > U833 > mark > U912
tt > 0 > mark > U1023 > isNat1
tt > 0 > mark > U133 > U143 > isNat1
tt > 0 > mark > U212
tt > 0 > mark > U222 > isNat1
tt > 0 > mark > U313
tt > 0 > mark > U323
tt > 0 > mark > U343 > U352 > isNat1
tt > 0 > mark > U412
tt > 0 > mark > U612
tt > 0 > mark > U912
PROPER1: [1]
U1013: [1,2,3]
U1023: [1,2,3]
isNatKind1: [1]
U1033: [1,2,3]
isNat1: [1]
U1043: [1,2,3]
plus2: [1,2]
x2: [1,2]
U113: [1,3,2]
U123: [1,2,3]
U133: [1,2,3]
U143: [1,2,3]
U152: [1,2]
U212: [1,2]
U222: [1,2]
U313: [1,2,3]
U323: [1,2,3]
U333: [1,2,3]
U343: [1,2,3]
U352: [1,2]
U412: [1,2]
U612: [1,2]
U712: [1,2]
U722: [1,2]
U813: [1,2,3]
U823: [1,2,3]
U833: [3,2,1]
U843: [3,2,1]
s1: [1]
U912: [2,1]
tt: []
mark: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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(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(U92(X)) → PROPER(X)
U104 > active1 > U921 > mark
U104 > active1 > U1021 > U1031 > isNatKind > mark
U104 > active1 > U22 > isNat > tt > isNatKind > mark
U104 > active1 > U34 > mark
U104 > active1 > U35 > isNat > tt > isNatKind > mark
U104 > active1 > U41 > isNatKind > mark
U104 > active1 > U61 > isNatKind > mark
U104 > active1 > U81 > isNatKind > mark
U104 > active1 > U82 > mark
U104 > active1 > U83 > isNatKind > mark
U104 > active1 > U83 > U84 > mark
U104 > active1 > 0 > tt > isNatKind > mark
U11 > isNatKind > mark
U21 > active1 > U921 > mark
U21 > active1 > U1021 > U1031 > isNatKind > mark
U21 > active1 > U22 > isNat > tt > isNatKind > mark
U21 > active1 > U34 > mark
U21 > active1 > U35 > isNat > tt > isNatKind > mark
U21 > active1 > U41 > isNatKind > mark
U21 > active1 > U61 > isNatKind > mark
U21 > active1 > U81 > isNatKind > mark
U21 > active1 > U82 > mark
U21 > active1 > U83 > isNatKind > mark
U21 > active1 > U83 > U84 > mark
U21 > active1 > 0 > tt > isNatKind > mark
top > mark
U921: [1]
active1: [1]
tt: []
mark: []
U1021: [1]
isNatKind: []
U1031: [1]
isNat: []
U104: []
U11: []
U21: []
U22: []
U34: []
U35: []
U41: []
U61: []
U81: []
U82: []
U83: []
U84: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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)
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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)
PROPER1 > mark
U621 > tt > mark
U101 > U102 > U103 > U104 > plus1 > isNat > tt > mark
U101 > U102 > U103 > U104 > plus1 > isNat > isNatKind > mark
U101 > U102 > U103 > U104 > x > isNat > tt > mark
U101 > U102 > U103 > U104 > x > isNat > isNatKind > mark
U101 > U102 > U103 > U104 > x > U61 > isNatKind > mark
U101 > U102 > U103 > U104 > x > U91 > isNatKind > mark
U14 > U15 > isNat > tt > mark
U14 > U15 > isNat > isNatKind > mark
U21 > isNatKind > mark
U21 > U22 > mark
U31 > U32 > isNatKind > mark
U33 > U34 > isNat > tt > mark
U33 > U34 > isNat > isNatKind > mark
U35 > isNat > tt > mark
U35 > isNat > isNatKind > mark
U41 > isNatKind > mark
U841 > plus1 > isNat > tt > mark
U841 > plus1 > isNat > isNatKind > mark
s1 > isNat > tt > mark
s1 > isNat > isNatKind > mark
U92 > 0 > isNat > tt > mark
U92 > 0 > isNat > isNatKind > mark
U92 > 0 > U91 > isNatKind > mark
top > mark
PROPER1: [1]
U621: [1]
U101: []
tt: []
mark: []
U102: []
isNatKind: []
U103: []
isNat: []
U104: []
plus1: [1]
x: []
U14: []
U15: []
U21: []
U22: []
U31: []
U32: []
U33: []
U34: []
U35: []
U41: []
U61: []
U841: [1]
s1: [1]
U91: []
U92: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U16(X)) → PROPER(X)
PROPER(U23(X)) → PROPER(X)
PROPER(U36(X)) → PROPER(X)
PROPER(U42(X)) → PROPER(X)
PROPER(U51(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 > U1033 > U1043 > plus2 > U113 > U123 > mark1
active1 > U1033 > U1043 > plus2 > U412 > mark1
active1 > U1033 > U1043 > plus2 > U813 > mark1
active1 > U1033 > U1043 > x2 > U1013 > U1023 > mark1
active1 > U1033 > U1043 > x2 > U612 > U621 > tt > U1023 > mark1
active1 > U1033 > U1043 > x2 > U612 > U621 > tt > U123 > mark1
active1 > U1033 > U1043 > x2 > U612 > U621 > tt > 0 > mark1
active1 > U1033 > U1043 > x2 > U912 > U921 > 0 > mark1
active1 > U133 > U143 > mark1
active1 > U152 > mark1
active1 > U313 > mark1
active1 > U323 > U333 > mark1
active1 > U343 > U352 > mark1
active1 > U712 > U722 > mark1
active1 > U823 > U833 > mark1
active1 > U843 > mark1
active1 > s1 > U511 > PROPER1 > mark1
active1 > s1 > U511 > tt > U1023 > mark1
active1 > s1 > U511 > tt > U123 > mark1
active1 > s1 > U511 > tt > 0 > mark1
active1 > s1 > U1013 > U1023 > mark1
active1 > s1 > U212 > U222 > mark1
active1 > s1 > U813 > mark1
top > mark1
PROPER1: [1]
U511: [1]
active1: [1]
U1013: [1,2,3]
tt: []
mark1: [1]
U1023: [1,3,2]
U1033: [1,2,3]
U1043: [1,2,3]
plus2: [1,2]
x2: [2,1]
U113: [1,3,2]
U123: [1,3,2]
U133: [1,2,3]
U143: [1,3,2]
U152: [2,1]
U212: [2,1]
U222: [2,1]
U313: [1,2,3]
U323: [1,2,3]
U333: [3,1,2]
U343: [1,2,3]
U352: [1,2]
U412: [1,2]
U612: [2,1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [1,3,2]
U823: [1,3,2]
U833: [1,2,3]
U843: [2,3,1]
s1: [1]
U912: [2,1]
U921: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U16(X)) → PROPER(X)
PROPER(U23(X)) → PROPER(X)
PROPER(U36(X)) → PROPER(X)
PROPER(U42(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(U16(X)) → PROPER(X)
PROPER1 > U842
active1 > U62 > tt > U161 > U842
active1 > U62 > tt > x2 > U1012 > U1022 > U1032 > U1043 > plus2 > U812 > U822 > U832 > U842
active1 > U62 > tt > x2 > U1012 > U1022 > isNat1 > U312 > U842
active1 > U62 > tt > U122 > U842
active1 > U62 > tt > U131 > U842
active1 > U62 > tt > U322 > U842
active1 > U62 > tt > U332 > U341 > U351 > isNat1 > U312 > U842
active1 > U92 > proper1 > tt > U161 > U842
active1 > U92 > proper1 > tt > x2 > U1012 > U1022 > U1032 > U1043 > plus2 > U812 > U822 > U832 > U842
active1 > U92 > proper1 > tt > x2 > U1012 > U1022 > isNat1 > U312 > U842
active1 > U92 > proper1 > tt > U122 > U842
active1 > U92 > proper1 > tt > U131 > U842
active1 > U92 > proper1 > tt > U322 > U842
active1 > U92 > proper1 > tt > U332 > U341 > U351 > isNat1 > U312 > U842
active1 > U92 > proper1 > U113 > U842
active1 > U92 > proper1 > U151 > U161 > U842
active1 > U92 > proper1 > U151 > isNat1 > U312 > U842
active1 > U92 > proper1 > U221 > isNat1 > U312 > U842
active1 > U92 > proper1 > U51 > U842
active1 > U92 > proper1 > U61 > U842
active1 > U92 > proper1 > U721 > U842
active1 > U92 > proper1 > 0 > isNat1 > U312 > U842
active1 > U92 > proper1 > 0 > U712 > U842
active1 > U92 > proper1 > 0 > U91 > U842
top > U842
PROPER1: [1]
U161: [1]
active1: [1]
U1012: [1,2]
tt: []
U1022: [2,1]
U1032: [2,1]
isNat1: [1]
U1043: [1,3,2]
plus2: [1,2]
x2: [2,1]
U113: [1,2,3]
U122: [2,1]
U131: [1]
U151: [1]
U221: [1]
U312: [1,2]
U322: [2,1]
U332: [2,1]
U341: [1]
U351: [1]
U51: []
U61: []
U62: []
U712: [2,1]
U721: [1]
U812: [2,1]
U822: [2,1]
U832: [2,1]
U842: [1,2]
U91: []
U92: []
0: []
proper1: [1]
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U36(X)) → PROPER(X)
PROPER(U42(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(U36(X)) → PROPER(X)
active1 > U361 > PROPER1 > isNatKind1
active1 > U361 > tt > U1023 > isNatKind1
active1 > U361 > tt > U1032 > U1042 > plus2 > isNatKind1
active1 > U361 > tt > U1032 > U1042 > x2 > U1013 > isNatKind1
active1 > U361 > tt > U14 > isNatKind1
active1 > U361 > tt > U341 > U351 > isNatKind1
active1 > U361 > tt > U721 > isNatKind1
active1 > U361 > tt > U842 > plus2 > isNatKind1
active1 > U121 > isNatKind1
active1 > U15 > U16 > tt > U1023 > isNatKind1
active1 > U15 > U16 > tt > U1032 > U1042 > plus2 > isNatKind1
active1 > U15 > U16 > tt > U1032 > U1042 > x2 > U1013 > isNatKind1
active1 > U15 > U16 > tt > U14 > isNatKind1
active1 > U15 > U16 > tt > U341 > U351 > isNatKind1
active1 > U15 > U16 > tt > U721 > isNatKind1
active1 > U15 > U16 > tt > U842 > plus2 > isNatKind1
active1 > U312 > isNatKind1
active1 > U322 > U332 > U341 > U351 > isNatKind1
active1 > U411 > isNatKind1
active1 > U61 > isNatKind1
active1 > U62 > tt > U1023 > isNatKind1
active1 > U62 > tt > U1032 > U1042 > plus2 > isNatKind1
active1 > U62 > tt > U1032 > U1042 > x2 > U1013 > isNatKind1
active1 > U62 > tt > U14 > isNatKind1
active1 > U62 > tt > U341 > U351 > isNatKind1
active1 > U62 > tt > U721 > isNatKind1
active1 > U62 > tt > U842 > plus2 > isNatKind1
active1 > U812 > U822 > U832 > U842 > plus2 > isNatKind1
active1 > s1 > U212 > isNatKind1
active1 > s1 > U51 > tt > U1023 > isNatKind1
active1 > s1 > U51 > tt > U1032 > U1042 > plus2 > isNatKind1
active1 > s1 > U51 > tt > U1032 > U1042 > x2 > U1013 > isNatKind1
active1 > s1 > U51 > tt > U14 > isNatKind1
active1 > s1 > U51 > tt > U341 > U351 > isNatKind1
active1 > s1 > U51 > tt > U721 > isNatKind1
active1 > s1 > U51 > tt > U842 > plus2 > isNatKind1
active1 > U92 > 0 > tt > U1023 > isNatKind1
active1 > U92 > 0 > tt > U1032 > U1042 > plus2 > isNatKind1
active1 > U92 > 0 > tt > U1032 > U1042 > x2 > U1013 > isNatKind1
active1 > U92 > 0 > tt > U14 > isNatKind1
active1 > U92 > 0 > tt > U341 > U351 > isNatKind1
active1 > U92 > 0 > tt > U721 > isNatKind1
active1 > U92 > 0 > tt > U842 > plus2 > isNatKind1
active1 > U92 > 0 > U711 > U721 > isNatKind1
active1 > U92 > 0 > U91 > isNatKind1
top > isNatKind1
PROPER1: [1]
U361: [1]
active1: [1]
U1013: [1,3,2]
tt: []
U1023: [1,3,2]
isNatKind1: [1]
U1032: [2,1]
U1042: [2,1]
plus2: [1,2]
x2: [2,1]
U121: [1]
U14: []
U15: []
U16: []
U212: [1,2]
U312: [2,1]
U322: [2,1]
U332: [1,2]
U341: [1]
U351: [1]
U411: [1]
U51: []
U61: []
U62: []
U711: [1]
U721: [1]
U812: [2,1]
U822: [2,1]
U832: [1,2]
U842: [2,1]
s1: [1]
U91: []
U92: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U42(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)
PROPER1 > mark1
top > active1 > U1013 > isNatKind > mark1
top > active1 > U1023 > U1033 > isNatKind > mark1
top > active1 > U1023 > isNat > tt > U231 > mark1
top > active1 > U1023 > isNat > tt > isNatKind > mark1
top > active1 > U1023 > isNat > tt > x2 > mark1
top > active1 > U1023 > isNat > tt > U321 > mark1
top > active1 > U1023 > isNat > tt > U621 > mark1
top > active1 > U1023 > isNat > tt > U823 > mark1
top > active1 > U1043 > x2 > mark1
top > active1 > plus2 > isNat > tt > U231 > mark1
top > active1 > plus2 > isNat > tt > isNatKind > mark1
top > active1 > plus2 > isNat > tt > x2 > mark1
top > active1 > plus2 > isNat > tt > U321 > mark1
top > active1 > plus2 > isNat > tt > U621 > mark1
top > active1 > plus2 > isNat > tt > U823 > mark1
top > active1 > plus2 > U411 > isNatKind > mark1
top > active1 > plus2 > U813 > isNatKind > mark1
top > active1 > plus2 > U813 > U823 > mark1
top > active1 > U311 > isNatKind > mark1
top > active1 > U311 > U321 > mark1
top > active1 > U331 > isNatKind > mark1
top > active1 > U341 > U351 > isNat > tt > U231 > mark1
top > active1 > U341 > U351 > isNat > tt > isNatKind > mark1
top > active1 > U341 > U351 > isNat > tt > x2 > mark1
top > active1 > U341 > U351 > isNat > tt > U321 > mark1
top > active1 > U341 > U351 > isNat > tt > U621 > mark1
top > active1 > U341 > U351 > isNat > tt > U823 > mark1
top > active1 > U361 > tt > U231 > mark1
top > active1 > U361 > tt > isNatKind > mark1
top > active1 > U361 > tt > x2 > mark1
top > active1 > U361 > tt > U321 > mark1
top > active1 > U361 > tt > U621 > mark1
top > active1 > U361 > tt > U823 > mark1
top > active1 > U611 > isNatKind > mark1
top > active1 > U611 > U621 > mark1
top > active1 > U712 > isNatKind > mark1
top > active1 > U712 > U722 > mark1
top > active1 > U833 > isNatKind > mark1
top > active1 > U843 > s1 > isNat > tt > U231 > mark1
top > active1 > U843 > s1 > isNat > tt > isNatKind > mark1
top > active1 > U843 > s1 > isNat > tt > x2 > mark1
top > active1 > U843 > s1 > isNat > tt > U321 > mark1
top > active1 > U843 > s1 > isNat > tt > U621 > mark1
top > active1 > U843 > s1 > isNat > tt > U823 > mark1
top > active1 > U843 > s1 > U511 > tt > U231 > mark1
top > active1 > U843 > s1 > U511 > tt > isNatKind > mark1
top > active1 > U843 > s1 > U511 > tt > x2 > mark1
top > active1 > U843 > s1 > U511 > tt > U321 > mark1
top > active1 > U843 > s1 > U511 > tt > U621 > mark1
top > active1 > U843 > s1 > U511 > tt > U823 > mark1
top > active1 > U843 > s1 > U813 > isNatKind > mark1
top > active1 > U843 > s1 > U813 > U823 > mark1
top > active1 > 0 > isNat > tt > U231 > mark1
top > active1 > 0 > isNat > tt > isNatKind > mark1
top > active1 > 0 > isNat > tt > x2 > mark1
top > active1 > 0 > isNat > tt > U321 > mark1
top > active1 > 0 > isNat > tt > U621 > mark1
top > active1 > 0 > isNat > tt > U823 > mark1
PROPER1: [1]
U231: [1]
active1: [1]
U1013: [3,2,1]
tt: []
mark1: [1]
U1023: [1,3,2]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [1,3,2]
plus2: [2,1]
x2: [1,2]
U311: [1]
U321: [1]
U331: [1]
U341: [1]
U351: [1]
U361: [1]
U411: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [3,2,1]
U823: [1,3,2]
U833: [1,3,2]
U843: [1,3,2]
s1: [1]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U42(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)
active1 > U1012 > U1022 > U1032 > U1042 > plus2 > U411 > U421 > PROPER1
active1 > U1012 > U1022 > U1032 > U1042 > plus2 > U813 > U823
active1 > U1012 > U1022 > U1032 > U1042 > x2 > U91 > U92 > 0
active1 > isNat > tt > U1022 > U1032 > U1042 > plus2 > U411 > U421 > PROPER1
active1 > isNat > tt > U1022 > U1032 > U1042 > plus2 > U813 > U823
active1 > isNat > tt > U1022 > U1032 > U1042 > x2 > U91 > U92 > 0
active1 > isNat > tt > U12
active1 > isNat > tt > U13 > U14
active1 > isNat > tt > U22
active1 > isNat > tt > U33
active1 > isNat > tt > U34
active1 > isNat > tt > U35 > U36
active1 > isNat > tt > U832
active1 > isNat > tt > U843 > plus2 > U411 > U421 > PROPER1
active1 > isNat > tt > U843 > plus2 > U813 > U823
active1 > isNat > tt > U843 > s1 > U813 > U823
active1 > isNat > U21 > U22
active1 > isNat > U31
active1 > U11 > U12
active1 > U16
active1 > U23 > tt > U1022 > U1032 > U1042 > plus2 > U411 > U421 > PROPER1
active1 > U23 > tt > U1022 > U1032 > U1042 > plus2 > U813 > U823
active1 > U23 > tt > U1022 > U1032 > U1042 > x2 > U91 > U92 > 0
active1 > U23 > tt > U12
active1 > U23 > tt > U13 > U14
active1 > U23 > tt > U22
active1 > U23 > tt > U33
active1 > U23 > tt > U34
active1 > U23 > tt > U35 > U36
active1 > U23 > tt > U832
active1 > U23 > tt > U843 > plus2 > U411 > U421 > PROPER1
active1 > U23 > tt > U843 > plus2 > U813 > U823
active1 > U23 > tt > U843 > s1 > U813 > U823
active1 > U32 > U33
PROPER1: [1]
U421: [1]
active1: [1]
U1012: [2,1]
tt: []
U1022: [2,1]
U1032: [2,1]
isNat: []
U1042: [2,1]
plus2: [1,2]
x2: [1,2]
U11: []
U12: []
U13: []
U14: []
U16: []
U21: []
U22: []
U23: []
U31: []
U32: []
U33: []
U34: []
U35: []
U36: []
U411: [1]
U813: [3,1,2]
U823: [3,1,2]
U832: [1,2]
U843: [3,2,1]
s1: [1]
U91: []
U92: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → ACTIVE(X2)
tt > plus2 > isNat > ok > mark
tt > x2 > ok > mark
tt > 0 > ok > mark
top > mark
plus2: [2,1]
x2: [1,2]
tt: []
mark: []
isNat: []
0: []
ok: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(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(U104(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(U31(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U32(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U33(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U35(X1, X2)) → ACTIVE(X1)
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(U91(X1, X2)) → ACTIVE(X1)
ACTIVE(U92(X)) → ACTIVE(X)
U1011 > ok > U1021 > mark
U1011 > ok > U1031 > U1041 > x1 > mark
U1011 > ok > U161 > mark
U1011 > ok > U211 > mark
U1011 > ok > U711 > mark
U1011 > ok > U811 > mark
U1011 > ok > U921 > mark
U123 > isNatKind1 > ok > U1021 > mark
U123 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U123 > isNatKind1 > ok > U161 > mark
U123 > isNatKind1 > ok > U211 > mark
U123 > isNatKind1 > ok > U711 > mark
U123 > isNatKind1 > ok > U811 > mark
U123 > isNatKind1 > ok > U921 > mark
U131 > U141 > U152 > isNat1 > ok > U1021 > mark
U131 > U141 > U152 > isNat1 > ok > U1031 > U1041 > x1 > mark
U131 > U141 > U152 > isNat1 > ok > U161 > mark
U131 > U141 > U152 > isNat1 > ok > U211 > mark
U131 > U141 > U152 > isNat1 > ok > U711 > mark
U131 > U141 > U152 > isNat1 > ok > U811 > mark
U131 > U141 > U152 > isNat1 > ok > U921 > mark
U131 > isNatKind1 > ok > U1021 > mark
U131 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U131 > isNatKind1 > ok > U161 > mark
U131 > isNatKind1 > ok > U211 > mark
U131 > isNatKind1 > ok > U711 > mark
U131 > isNatKind1 > ok > U811 > mark
U131 > isNatKind1 > ok > U921 > mark
U311 > U321 > U331 > ok > U1021 > mark
U311 > U321 > U331 > ok > U1031 > U1041 > x1 > mark
U311 > U321 > U331 > ok > U161 > mark
U311 > U321 > U331 > ok > U211 > mark
U311 > U321 > U331 > ok > U711 > mark
U311 > U321 > U331 > ok > U811 > mark
U311 > U321 > U331 > ok > U921 > mark
U311 > isNatKind1 > ok > U1021 > mark
U311 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U311 > isNatKind1 > ok > U161 > mark
U311 > isNatKind1 > ok > U211 > mark
U311 > isNatKind1 > ok > U711 > mark
U311 > isNatKind1 > ok > U811 > mark
U311 > isNatKind1 > ok > U921 > mark
U352 > isNat1 > ok > U1021 > mark
U352 > isNat1 > ok > U1031 > U1041 > x1 > mark
U352 > isNat1 > ok > U161 > mark
U352 > isNat1 > ok > U211 > mark
U352 > isNat1 > ok > U711 > mark
U352 > isNat1 > ok > U811 > mark
U352 > isNat1 > ok > U921 > mark
U411 > isNatKind1 > ok > U1021 > mark
U411 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U411 > isNatKind1 > ok > U161 > mark
U411 > isNatKind1 > ok > U211 > mark
U411 > isNatKind1 > ok > U711 > mark
U411 > isNatKind1 > ok > U811 > mark
U411 > isNatKind1 > ok > U921 > mark
U612 > isNatKind1 > ok > U1021 > mark
U612 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U612 > isNatKind1 > ok > U161 > mark
U612 > isNatKind1 > ok > U211 > mark
U612 > isNatKind1 > ok > U711 > mark
U612 > isNatKind1 > ok > U811 > mark
U612 > isNatKind1 > ok > U921 > mark
U821 > U833 > isNatKind1 > ok > U1021 > mark
U821 > U833 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U821 > U833 > isNatKind1 > ok > U161 > mark
U821 > U833 > isNatKind1 > ok > U211 > mark
U821 > U833 > isNatKind1 > ok > U711 > mark
U821 > U833 > isNatKind1 > ok > U811 > mark
U821 > U833 > isNatKind1 > ok > U921 > mark
U821 > isNat1 > ok > U1021 > mark
U821 > isNat1 > ok > U1031 > U1041 > x1 > mark
U821 > isNat1 > ok > U161 > mark
U821 > isNat1 > ok > U211 > mark
U821 > isNat1 > ok > U711 > mark
U821 > isNat1 > ok > U811 > mark
U821 > isNat1 > ok > U921 > mark
U911 > isNatKind1 > ok > U1021 > mark
U911 > isNatKind1 > ok > U1031 > U1041 > x1 > mark
U911 > isNatKind1 > ok > U161 > mark
U911 > isNatKind1 > ok > U211 > mark
U911 > isNatKind1 > ok > U711 > mark
U911 > isNatKind1 > ok > U811 > mark
U911 > isNatKind1 > ok > U921 > mark
plus > isNatKind1 > ok > U1021 > mark
plus > isNatKind1 > ok > U1031 > U1041 > x1 > mark
plus > isNatKind1 > ok > U161 > mark
plus > isNatKind1 > ok > U211 > mark
plus > isNatKind1 > ok > U711 > mark
plus > isNatKind1 > ok > U811 > mark
plus > isNatKind1 > ok > U921 > mark
plus > isNat1 > ok > U1021 > mark
plus > isNat1 > ok > U1031 > U1041 > x1 > mark
plus > isNat1 > ok > U161 > mark
plus > isNat1 > ok > U211 > mark
plus > isNat1 > ok > U711 > mark
plus > isNat1 > ok > U811 > mark
plus > isNat1 > ok > U921 > mark
0 > tt > U152 > isNat1 > ok > U1021 > mark
0 > tt > U152 > isNat1 > ok > U1031 > U1041 > x1 > mark
0 > tt > U152 > isNat1 > ok > U161 > mark
0 > tt > U152 > isNat1 > ok > U211 > mark
0 > tt > U152 > isNat1 > ok > U711 > mark
0 > tt > U152 > isNat1 > ok > U811 > mark
0 > tt > U152 > isNat1 > ok > U921 > mark
0 > tt > U221 > ok > U1021 > mark
0 > tt > U221 > ok > U1031 > U1041 > x1 > mark
0 > tt > U221 > ok > U161 > mark
0 > tt > U221 > ok > U211 > mark
0 > tt > U221 > ok > U711 > mark
0 > tt > U221 > ok > U811 > mark
0 > tt > U221 > ok > U921 > mark
0 > tt > U321 > U331 > ok > U1021 > mark
0 > tt > U321 > U331 > ok > U1031 > U1041 > x1 > mark
0 > tt > U321 > U331 > ok > U161 > mark
0 > tt > U321 > U331 > ok > U211 > mark
0 > tt > U321 > U331 > ok > U711 > mark
0 > tt > U321 > U331 > ok > U811 > mark
0 > tt > U321 > U331 > ok > U921 > mark
0 > tt > U721 > ok > U1021 > mark
0 > tt > U721 > ok > U1031 > U1041 > x1 > mark
0 > tt > U721 > ok > U161 > mark
0 > tt > U721 > ok > U211 > mark
0 > tt > U721 > ok > U711 > mark
0 > tt > U721 > ok > U811 > mark
0 > tt > U721 > ok > U921 > mark
0 > tt > isNatKind1 > ok > U1021 > mark
0 > tt > isNatKind1 > ok > U1031 > U1041 > x1 > mark
0 > tt > isNatKind1 > ok > U161 > mark
0 > tt > isNatKind1 > ok > U211 > mark
0 > tt > isNatKind1 > ok > U711 > mark
0 > tt > isNatKind1 > ok > U811 > mark
0 > tt > isNatKind1 > ok > U921 > mark
top > mark
U1021: [1]
U1011: [1]
U1031: [1]
U1041: [1]
U123: [3,2,1]
U131: [1]
U141: [1]
U152: [1,2]
U161: [1]
U211: [1]
U221: [1]
U311: [1]
U321: [1]
U331: [1]
U352: [2,1]
U411: [1]
U612: [1,2]
U711: [1]
U721: [1]
U811: [1]
U821: [1]
U833: [1,3,2]
U911: [1]
U921: [1]
tt: []
mark: []
isNatKind1: [1]
isNat1: [1]
plus: []
x1: [1]
0: []
ok: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U23(X)) → ACTIVE(X)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(s(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(U11(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U34(X1, X2, X3)) → ACTIVE(X1)
ACTIVE(U36(X)) → ACTIVE(X)
ACTIVE(U42(X)) → ACTIVE(X)
ACTIVE(U51(X)) → ACTIVE(X)
ACTIVE(U62(X)) → ACTIVE(X)
ACTIVE(U84(X1, X2, X3)) → ACTIVE(X1)
active1 > U111 > isNatKind > tt > U16
active1 > U111 > isNatKind > tt > U32
active1 > U111 > isNatKind > tt > U35
active1 > U111 > isNatKind > tt > U831 > U842
active1 > U111 > isNatKind > tt > U92 > 0
active1 > U361 > tt > U16
active1 > U361 > tt > U32
active1 > U361 > tt > U35
active1 > U361 > tt > U831 > U842
active1 > U361 > tt > U92 > 0
active1 > U511 > tt > U16
active1 > U511 > tt > U32
active1 > U511 > tt > U35
active1 > U511 > tt > U831 > U842
active1 > U511 > tt > U92 > 0
active1 > U1011 > U102 > isNat > tt > U16
active1 > U1011 > U102 > isNat > tt > U32
active1 > U1011 > U102 > isNat > tt > U35
active1 > U1011 > U102 > isNat > tt > U831 > U842
active1 > U1011 > U102 > isNat > tt > U92 > 0
active1 > U1011 > U102 > isNat > U31 > U32
active1 > U1011 > isNatKind > tt > U16
active1 > U1011 > isNatKind > tt > U32
active1 > U1011 > isNatKind > tt > U35
active1 > U1011 > isNatKind > tt > U831 > U842
active1 > U1011 > isNatKind > tt > U92 > 0
active1 > U1041 > plus1
active1 > U1041 > x > isNat > tt > U16
active1 > U1041 > x > isNat > tt > U32
active1 > U1041 > x > isNat > tt > U35
active1 > U1041 > x > isNat > tt > U831 > U842
active1 > U1041 > x > isNat > tt > U92 > 0
active1 > U1041 > x > isNat > U31 > U32
active1 > U12 > U13 > isNatKind > tt > U16
active1 > U12 > U13 > isNatKind > tt > U32
active1 > U12 > U13 > isNatKind > tt > U35
active1 > U12 > U13 > isNatKind > tt > U831 > U842
active1 > U12 > U13 > isNatKind > tt > U92 > 0
active1 > U151 > U16
active1 > U33 > U341 > isNat > tt > U16
active1 > U33 > U341 > isNat > tt > U32
active1 > U33 > U341 > isNat > tt > U35
active1 > U33 > U341 > isNat > tt > U831 > U842
active1 > U33 > U341 > isNat > tt > U92 > 0
active1 > U33 > U341 > isNat > U31 > U32
active1 > U33 > isNatKind > tt > U16
active1 > U33 > isNatKind > tt > U32
active1 > U33 > isNatKind > tt > U35
active1 > U33 > isNatKind > tt > U831 > U842
active1 > U33 > isNatKind > tt > U92 > 0
active1 > U411 > U421 > tt > U16
active1 > U411 > U421 > tt > U32
active1 > U411 > U421 > tt > U35
active1 > U411 > U421 > tt > U831 > U842
active1 > U411 > U421 > tt > U92 > 0
active1 > U411 > isNatKind > tt > U16
active1 > U411 > isNatKind > tt > U32
active1 > U411 > isNatKind > tt > U35
active1 > U411 > isNatKind > tt > U831 > U842
active1 > U411 > isNatKind > tt > U92 > 0
active1 > U61 > U621 > tt > U16
active1 > U61 > U621 > tt > U32
active1 > U61 > U621 > tt > U35
active1 > U61 > U621 > tt > U831 > U842
active1 > U61 > U621 > tt > U92 > 0
active1 > U61 > isNatKind > tt > U16
active1 > U61 > isNatKind > tt > U32
active1 > U61 > isNatKind > tt > U35
active1 > U61 > isNatKind > tt > U831 > U842
active1 > U61 > isNatKind > tt > U92 > 0
active1 > U821 > U831 > U842
ACTIVE1: [1]
U111: [1]
U341: [1]
U361: [1]
U421: [1]
U511: [1]
U621: [1]
U842: [2,1]
active1: [1]
U1011: [1]
tt: []
U102: []
isNatKind: []
isNat: []
U1041: [1]
plus1: [1]
x: []
U12: []
U13: []
U151: [1]
U16: []
U31: []
U32: []
U33: []
U35: []
U411: [1]
U61: []
U821: [1]
U831: [1]
U92: []
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U23(X)) → ACTIVE(X)
ACTIVE(s(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 > tt > s1 > U211 > U221 > ok
active1 > tt > s1 > U812 > U822
active1 > tt > s1 > U812 > ok
active1 > tt > plus2 > U41 > U42 > ok
active1 > tt > plus2 > U812 > U822
active1 > tt > plus2 > U812 > ok
active1 > tt > U122 > U132 > ok
active1 > tt > U141 > ok
active1 > tt > U15 > U16 > ok
active1 > tt > U321 > U331 > ok
active1 > tt > U35 > U36 > ok
active1 > tt > U62 > ok
active1 > tt > U832
active1 > tt > U842
active1 > tt > 0 > U911 > ok
active1 > U112 > ok
active1 > U61 > ok
ACTIVE1: [1]
s1: [1]
active1: [1]
tt: []
plus2: [1,2]
U112: [2,1]
U122: [2,1]
U132: [1,2]
U141: [1]
U15: []
U16: []
U211: [1]
U221: [1]
U321: [1]
U331: [1]
U35: []
U36: []
U41: []
U42: []
U61: []
U62: []
U812: [2,1]
U822: [2,1]
U832: [2,1]
U842: [2,1]
U911: [1]
0: []
ok: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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(U23(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(U23(X)) → ACTIVE(X)
active1 > U231 > ACTIVE1
active1 > U231 > tt > U421 > mark1
active1 > U231 > tt > U722 > mark1
active1 > U231 > tt > U823 > mark1
active1 > U231 > tt > 0
active1 > U1013 > U1023 > U1033 > U1043 > mark1
active1 > U1013 > U1023 > isNat > tt > U421 > mark1
active1 > U1013 > U1023 > isNat > tt > U722 > mark1
active1 > U1013 > U1023 > isNat > tt > U823 > mark1
active1 > U1013 > U1023 > isNat > tt > 0
active1 > U1013 > U1023 > isNat > U111 > mark1
active1 > U1013 > isNatKind > U511 > tt > U421 > mark1
active1 > U1013 > isNatKind > U511 > tt > U722 > mark1
active1 > U1013 > isNatKind > U511 > tt > U823 > mark1
active1 > U1013 > isNatKind > U511 > tt > 0
active1 > x2 > isNat > tt > U421 > mark1
active1 > x2 > isNat > tt > U722 > mark1
active1 > x2 > isNat > tt > U823 > mark1
active1 > x2 > isNat > tt > 0
active1 > x2 > isNat > U111 > mark1
active1 > U121 > mark1
active1 > U141 > isNat > tt > U421 > mark1
active1 > U141 > isNat > tt > U722 > mark1
active1 > U141 > isNat > tt > U823 > mark1
active1 > U141 > isNat > tt > 0
active1 > U141 > isNat > U111 > mark1
active1 > U161 > tt > U421 > mark1
active1 > U161 > tt > U722 > mark1
active1 > U161 > tt > U823 > mark1
active1 > U161 > tt > 0
active1 > U211 > isNatKind > U511 > tt > U421 > mark1
active1 > U211 > isNatKind > U511 > tt > U722 > mark1
active1 > U211 > isNatKind > U511 > tt > U823 > mark1
active1 > U211 > isNatKind > U511 > tt > 0
active1 > U341 > isNat > tt > U421 > mark1
active1 > U341 > isNat > tt > U722 > mark1
active1 > U341 > isNat > tt > U823 > mark1
active1 > U341 > isNat > tt > 0
active1 > U341 > isNat > U111 > mark1
active1 > U351 > isNat > tt > U421 > mark1
active1 > U351 > isNat > tt > U722 > mark1
active1 > U351 > isNat > tt > U823 > mark1
active1 > U351 > isNat > tt > 0
active1 > U351 > isNat > U111 > mark1
active1 > U351 > U361 > tt > U421 > mark1
active1 > U351 > U361 > tt > U722 > mark1
active1 > U351 > U361 > tt > U823 > mark1
active1 > U351 > U361 > tt > 0
active1 > U611 > U621 > tt > U421 > mark1
active1 > U611 > U621 > tt > U722 > mark1
active1 > U611 > U621 > tt > U823 > mark1
active1 > U611 > U621 > tt > 0
active1 > U712 > U722 > mark1
active1 > U833 > U843 > plus2 > U813 > U823 > mark1
ACTIVE1: [1]
U231: [1]
active1: [1]
U1013: [1,2,3]
tt: []
mark1: [1]
U1023: [1,3,2]
isNatKind: []
U1033: [1,3,2]
isNat: []
U1043: [1,3,2]
plus2: [1,2]
x2: [1,2]
U111: [1]
U121: [1]
U141: [1]
U161: [1]
U211: [1]
U341: [1]
U351: [1]
U361: [1]
U421: [1]
U511: [1]
U611: [1]
U621: [1]
U712: [2,1]
U722: [2,1]
U813: [2,1,3]
U823: [2,1,3]
U833: [2,1,3]
U843: [3,1,2]
0: []
top: []
active(U101(tt, M, N)) → mark(U102(isNatKind(M), M, N))
active(U102(tt, M, N)) → mark(U103(isNat(N), M, N))
active(U103(tt, M, N)) → mark(U104(isNatKind(N), M, N))
active(U104(tt, M, N)) → mark(plus(x(N, M), N))
active(U11(tt, V1, V2)) → mark(U12(isNatKind(V1), V1, V2))
active(U12(tt, V1, V2)) → mark(U13(isNatKind(V2), V1, V2))
active(U13(tt, V1, V2)) → mark(U14(isNatKind(V2), V1, V2))
active(U14(tt, V1, V2)) → mark(U15(isNat(V1), V2))
active(U15(tt, V2)) → mark(U16(isNat(V2)))
active(U16(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))
active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)
active(U31(tt, V1, V2)) → mark(U32(isNatKind(V1), V1, V2))
active(U32(tt, V1, V2)) → mark(U33(isNatKind(V2), V1, V2))
active(U33(tt, V1, V2)) → mark(U34(isNatKind(V2), V1, V2))
active(U34(tt, V1, V2)) → mark(U35(isNat(V1), V2))
active(U35(tt, V2)) → mark(U36(isNat(V2)))
active(U36(tt)) → mark(tt)
active(U41(tt, V2)) → mark(U42(isNatKind(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt)) → mark(tt)
active(U61(tt, V2)) → mark(U62(isNatKind(V2)))
active(U62(tt)) → mark(tt)
active(U71(tt, N)) → mark(U72(isNatKind(N), N))
active(U72(tt, N)) → mark(N)
active(U81(tt, M, N)) → mark(U82(isNatKind(M), M, N))
active(U82(tt, M, N)) → mark(U83(isNat(N), M, N))
active(U83(tt, M, N)) → mark(U84(isNatKind(N), M, N))
active(U84(tt, M, N)) → mark(s(plus(N, M)))
active(U91(tt, N)) → mark(U92(isNatKind(N)))
active(U92(tt)) → mark(0)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(U11(isNatKind(V1), V1, V2))
active(isNat(s(V1))) → mark(U21(isNatKind(V1), V1))
active(isNat(x(V1, V2))) → mark(U31(isNatKind(V1), V1, V2))
active(isNatKind(0)) → mark(tt)
active(isNatKind(plus(V1, V2))) → mark(U41(isNatKind(V1), V2))
active(isNatKind(s(V1))) → mark(U51(isNatKind(V1)))
active(isNatKind(x(V1, V2))) → mark(U61(isNatKind(V1), V2))
active(plus(N, 0)) → mark(U71(isNat(N), N))
active(plus(N, s(M))) → mark(U81(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))