0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 QDPOrderProof (⇔)
↳11 QDP
↳12 PisEmptyProof (⇔)
↳13 TRUE
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 PisEmptyProof (⇔)
↳22 TRUE
↳23 QDP
↳24 QDPOrderProof (⇔)
↳25 QDP
↳26 QDPOrderProof (⇔)
↳27 QDP
↳28 PisEmptyProof (⇔)
↳29 TRUE
↳30 QDP
↳31 QDPOrderProof (⇔)
↳32 QDP
↳33 QDPOrderProof (⇔)
↳34 QDP
↳35 PisEmptyProof (⇔)
↳36 TRUE
↳37 QDP
↳38 QDPOrderProof (⇔)
↳39 QDP
↳40 QDPOrderProof (⇔)
↳41 QDP
↳42 PisEmptyProof (⇔)
↳43 TRUE
↳44 QDP
↳45 QDPOrderProof (⇔)
↳46 QDP
↳47 QDPOrderProof (⇔)
↳48 QDP
↳49 PisEmptyProof (⇔)
↳50 TRUE
↳51 QDP
↳52 QDPOrderProof (⇔)
↳53 QDP
↳54 QDPOrderProof (⇔)
↳55 QDP
↳56 PisEmptyProof (⇔)
↳57 TRUE
↳58 QDP
↳59 QDPOrderProof (⇔)
↳60 QDP
↳61 QDPOrderProof (⇔)
↳62 QDP
↳63 PisEmptyProof (⇔)
↳64 TRUE
↳65 QDP
↳66 QDPOrderProof (⇔)
↳67 QDP
↳68 QDPOrderProof (⇔)
↳69 QDP
↳70 PisEmptyProof (⇔)
↳71 TRUE
↳72 QDP
↳73 QDPOrderProof (⇔)
↳74 QDP
↳75 QDPOrderProof (⇔)
↳76 QDP
↳77 QDPOrderProof (⇔)
↳78 QDP
↳79 PisEmptyProof (⇔)
↳80 TRUE
↳81 QDP
↳82 QDPOrderProof (⇔)
↳83 QDP
↳84 QDPOrderProof (⇔)
↳85 QDP
↳86 PisEmptyProof (⇔)
↳87 TRUE
↳88 QDP
↳89 QDPOrderProof (⇔)
↳90 QDP
↳91 QDPOrderProof (⇔)
↳92 QDP
↳93 QDPOrderProof (⇔)
↳94 QDP
↳95 PisEmptyProof (⇔)
↳96 TRUE
↳97 QDP
↳98 QDPOrderProof (⇔)
↳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 QDPOrderProof (⇔)
↳112 QDP
↳113 QDPOrderProof (⇔)
↳114 QDP
↳115 QDPOrderProof (⇔)
↳116 QDP
↳117 PisEmptyProof (⇔)
↳118 TRUE
↳119 QDP
↳120 QDPOrderProof (⇔)
↳121 QDP
↳122 QDPOrderProof (⇔)
↳123 QDP
↳124 PisEmptyProof (⇔)
↳125 TRUE
↳126 QDP
↳127 QDPOrderProof (⇔)
↳128 QDP
↳129 QDPOrderProof (⇔)
↳130 QDP
↳131 QDPOrderProof (⇔)
↳132 QDP
↳133 QDPOrderProof (⇔)
↳134 QDP
↳135 QDPOrderProof (⇔)
↳136 QDP
↳137 PisEmptyProof (⇔)
↳138 TRUE
↳139 QDP
↳140 QDPOrderProof (⇔)
↳141 QDP
↳142 QDPOrderProof (⇔)
↳143 QDP
↳144 QDPOrderProof (⇔)
↳145 QDP
↳146 QDPOrderProof (⇔)
↳147 QDP
↳148 QDPOrderProof (⇔)
↳149 QDP
↳150 PisEmptyProof (⇔)
↳151 TRUE
↳152 QDP
↳153 QDPOrderProof (⇔)
↳154 QDP
↳155 QDPOrderProof (⇔)
↳156 QDP
↳157 QDPOrderProof (⇔)
↳158 QDP
↳159 PisEmptyProof (⇔)
↳160 TRUE
↳161 QDP
↳162 QDPOrderProof (⇔)
↳163 QDP
↳164 QDPOrderProof (⇔)
↳165 QDP
↳166 QDPOrderProof (⇔)
↳167 QDP
↳168 PisEmptyProof (⇔)
↳169 TRUE
↳170 QDP
↳171 QDPOrderProof (⇔)
↳172 QDP
↳173 QDPOrderProof (⇔)
↳174 QDP
↳175 QDPOrderProof (⇔)
↳176 QDP
↳177 PisEmptyProof (⇔)
↳178 TRUE
↳179 QDP
↳180 QDPOrderProof (⇔)
↳181 QDP
↳182 QDPOrderProof (⇔)
↳183 QDP
↳184 QDPOrderProof (⇔)
↳185 QDP
↳186 QDPOrderProof (⇔)
↳187 QDP
↳188 QDPOrderProof (⇔)
↳189 QDP
↳190 PisEmptyProof (⇔)
↳191 TRUE
↳192 QDP
↳193 QDPOrderProof (⇔)
↳194 QDP
↳195 QDPOrderProof (⇔)
↳196 QDP
↳197 QDPOrderProof (⇔)
↳198 QDP
↳199 PisEmptyProof (⇔)
↳200 TRUE
↳201 QDP
↳202 QDPOrderProof (⇔)
↳203 QDP
↳204 QDPOrderProof (⇔)
↳205 QDP
↳206 QDPOrderProof (⇔)
↳207 QDP
↳208 QDPOrderProof (⇔)
↳209 QDP
↳210 QDPOrderProof (⇔)
↳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 QDPOrderProof (⇔)
↳233 QDP
↳234 QDPOrderProof (⇔)
↳235 QDP
↳236 QDPOrderProof (⇔)
↳237 QDP
↳238 QDPOrderProof (⇔)
↳239 QDP
↳240 PisEmptyProof (⇔)
↳241 TRUE
↳242 QDP
↳243 QDPOrderProof (⇔)
↳244 QDP
↳245 QDPOrderProof (⇔)
↳246 QDP
↳247 QDPOrderProof (⇔)
↳248 QDP
↳249 QDPOrderProof (⇔)
↳250 QDP
↳251 QDPOrderProof (⇔)
↳252 QDP
↳253 QDPOrderProof (⇔)
↳254 QDP
↳255 QDPOrderProof (⇔)
↳256 QDP
↳257 PisEmptyProof (⇔)
↳258 TRUE
↳259 QDP
↳260 QDPOrderProof (⇔)
↳261 QDP
↳262 QDPOrderProof (⇔)
↳263 QDP
↳264 QDPOrderProof (⇔)
↳265 QDP
↳266 PisEmptyProof (⇔)
↳267 TRUE
↳268 QDP
↳269 QDPOrderProof (⇔)
↳270 QDP
↳271 QDPOrderProof (⇔)
↳272 QDP
↳273 QDPOrderProof (⇔)
↳274 QDP
↳275 PisEmptyProof (⇔)
↳276 TRUE
↳277 QDP
↳278 QDPOrderProof (⇔)
↳279 QDP
↳280 QDPOrderProof (⇔)
↳281 QDP
↳282 QDPOrderProof (⇔)
↳283 QDP
↳284 PisEmptyProof (⇔)
↳285 TRUE
↳286 QDP
↳287 QDPOrderProof (⇔)
↳288 QDP
↳289 QDPOrderProof (⇔)
↳290 QDP
↳291 QDPOrderProof (⇔)
↳292 QDP
↳293 PisEmptyProof (⇔)
↳294 TRUE
↳295 QDP
↳296 QDPOrderProof (⇔)
↳297 QDP
↳298 QDPOrderProof (⇔)
↳299 QDP
↳300 QDPOrderProof (⇔)
↳301 QDP
↳302 PisEmptyProof (⇔)
↳303 TRUE
↳304 QDP
↳305 QDPOrderProof (⇔)
↳306 QDP
↳307 QDPOrderProof (⇔)
↳308 QDP
↳309 PisEmptyProof (⇔)
↳310 TRUE
↳311 QDP
↳312 QDPOrderProof (⇔)
↳313 QDP
↳314 QDPOrderProof (⇔)
↳315 QDP
↳316 QDPOrderProof (⇔)
↳317 QDP
↳318 QDPOrderProof (⇔)
↳319 QDP
↳320 QDPOrderProof (⇔)
↳321 QDP
↳322 PisEmptyProof (⇔)
↳323 TRUE
↳324 QDP
↳325 QDPOrderProof (⇔)
↳326 QDP
↳327 QDPOrderProof (⇔)
↳328 QDP
↳329 QDPOrderProof (⇔)
↳330 QDP
↳331 QDPOrderProof (⇔)
↳332 QDP
↳333 QDPOrderProof (⇔)
↳334 QDP
↳335 PisEmptyProof (⇔)
↳336 TRUE
↳337 QDP
↳338 QDPOrderProof (⇔)
↳339 QDP
↳340 QDPOrderProof (⇔)
↳341 QDP
↳342 PisEmptyProof (⇔)
↳343 TRUE
↳344 QDP
↳345 QDPOrderProof (⇔)
↳346 QDP
↳347 QDPOrderProof (⇔)
↳348 QDP
↳349 PisEmptyProof (⇔)
↳350 TRUE
↳351 QDP
↳352 QDPOrderProof (⇔)
↳353 QDP
↳354 QDPOrderProof (⇔)
↳355 QDP
↳356 QDPOrderProof (⇔)
↳357 QDP
↳358 PisEmptyProof (⇔)
↳359 TRUE
↳360 QDP
↳361 QDPOrderProof (⇔)
↳362 QDP
↳363 QDPOrderProof (⇔)
↳364 QDP
↳365 QDPOrderProof (⇔)
↳366 QDP
↳367 PisEmptyProof (⇔)
↳368 TRUE
↳369 QDP
↳370 QDPOrderProof (⇔)
↳371 QDP
↳372 QDPOrderProof (⇔)
↳373 QDP
↳374 PisEmptyProof (⇔)
↳375 TRUE
↳376 QDP
↳377 QDPOrderProof (⇔)
↳378 QDP
↳379 QDPOrderProof (⇔)
↳380 QDP
↳381 QDPOrderProof (⇔)
↳382 QDP
↳383 PisEmptyProof (⇔)
↳384 TRUE
↳385 QDP
↳386 QDPOrderProof (⇔)
↳387 QDP
↳388 QDPOrderProof (⇔)
↳389 QDP
↳390 PisEmptyProof (⇔)
↳391 TRUE
↳392 QDP
↳393 QDPOrderProof (⇔)
↳394 QDP
↳395 QDPOrderProof (⇔)
↳396 QDP
↳397 QDPOrderProof (⇔)
↳398 QDP
↳399 PisEmptyProof (⇔)
↳400 TRUE
↳401 QDP
↳402 QDPOrderProof (⇔)
↳403 QDP
↳404 QDPOrderProof (⇔)
↳405 QDP
↳406 PisEmptyProof (⇔)
↳407 TRUE
↳408 QDP
↳409 QDPOrderProof (⇔)
↳410 QDP
↳411 QDPOrderProof (⇔)
↳412 QDP
↳413 QDPOrderProof (⇔)
↳414 QDP
↳415 PisEmptyProof (⇔)
↳416 TRUE
↳417 QDP
↳418 QDPOrderProof (⇔)
↳419 QDP
↳420 QDPOrderProof (⇔)
↳421 QDP
↳422 PisEmptyProof (⇔)
↳423 TRUE
↳424 QDP
↳425 QDPOrderProof (⇔)
↳426 QDP
↳427 QDPOrderProof (⇔)
↳428 QDP
↳429 QDPOrderProof (⇔)
↳430 QDP
↳431 PisEmptyProof (⇔)
↳432 TRUE
↳433 QDP
↳434 QDPOrderProof (⇔)
↳435 QDP
↳436 QDPOrderProof (⇔)
↳437 QDP
↳438 PisEmptyProof (⇔)
↳439 TRUE
↳440 QDP
↳441 QDPOrderProof (⇔)
↳442 QDP
↳443 QDPOrderProof (⇔)
↳444 QDP
↳445 PisEmptyProof (⇔)
↳446 TRUE
↳447 QDP
↳448 QDPOrderProof (⇔)
↳449 QDP
↳450 QDPOrderProof (⇔)
↳451 QDP
↳452 QDPOrderProof (⇔)
↳453 QDP
↳454 QDPOrderProof (⇔)
↳455 QDP
↳456 QDPOrderProof (⇔)
↳457 QDP
↳458 PisEmptyProof (⇔)
↳459 TRUE
↳460 QDP
↳461 QDPOrderProof (⇔)
↳462 QDP
↳463 QDPOrderProof (⇔)
↳464 QDP
↳465 QDPOrderProof (⇔)
↳466 QDP
↳467 QDPOrderProof (⇔)
↳468 QDP
↳469 QDPOrderProof (⇔)
↳470 QDP
↳471 PisEmptyProof (⇔)
↳472 TRUE
↳473 QDP
↳474 QDPOrderProof (⇔)
↳475 QDP
↳476 QDPOrderProof (⇔)
↳477 QDP
↳478 PisEmptyProof (⇔)
↳479 TRUE
↳480 QDP
↳481 QDPOrderProof (⇔)
↳482 QDP
↳483 QDPOrderProof (⇔)
↳484 QDP
↳485 PisEmptyProof (⇔)
↳486 TRUE
↳487 QDP
↳488 QDPOrderProof (⇔)
↳489 QDP
↳490 QDPOrderProof (⇔)
↳491 QDP
↳492 QDPOrderProof (⇔)
↳493 QDP
↳494 PisEmptyProof (⇔)
↳495 TRUE
↳496 QDP
↳497 QDPOrderProof (⇔)
↳498 QDP
↳499 QDPOrderProof (⇔)
↳500 QDP
↳501 QDPOrderProof (⇔)
↳502 QDP
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
ACTIVE(U101(tt, V2)) → MARK(U102(isLNat(V2)))
ACTIVE(U101(tt, V2)) → U1021(isLNat(V2))
ACTIVE(U101(tt, V2)) → ISLNAT(V2)
ACTIVE(U102(tt)) → MARK(tt)
ACTIVE(U11(tt, N, XS)) → MARK(U12(isLNat(XS), N, XS))
ACTIVE(U11(tt, N, XS)) → U121(isLNat(XS), N, XS)
ACTIVE(U11(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U111(tt)) → MARK(tt)
ACTIVE(U12(tt, N, XS)) → MARK(snd(splitAt(N, XS)))
ACTIVE(U12(tt, N, XS)) → SND(splitAt(N, XS))
ACTIVE(U12(tt, N, XS)) → SPLITAT(N, XS)
ACTIVE(U121(tt)) → MARK(tt)
ACTIVE(U131(tt, V2)) → MARK(U132(isLNat(V2)))
ACTIVE(U131(tt, V2)) → U1321(isLNat(V2))
ACTIVE(U131(tt, V2)) → ISLNAT(V2)
ACTIVE(U132(tt)) → MARK(tt)
ACTIVE(U141(tt, V2)) → MARK(U142(isLNat(V2)))
ACTIVE(U141(tt, V2)) → U1421(isLNat(V2))
ACTIVE(U141(tt, V2)) → ISLNAT(V2)
ACTIVE(U142(tt)) → MARK(tt)
ACTIVE(U151(tt, V2)) → MARK(U152(isLNat(V2)))
ACTIVE(U151(tt, V2)) → U1521(isLNat(V2))
ACTIVE(U151(tt, V2)) → ISLNAT(V2)
ACTIVE(U152(tt)) → MARK(tt)
ACTIVE(U161(tt, N)) → MARK(cons(N, natsFrom(s(N))))
ACTIVE(U161(tt, N)) → CONS(N, natsFrom(s(N)))
ACTIVE(U161(tt, N)) → NATSFROM(s(N))
ACTIVE(U161(tt, N)) → S(N)
ACTIVE(U171(tt, N, XS)) → MARK(U172(isLNat(XS), N, XS))
ACTIVE(U171(tt, N, XS)) → U1721(isLNat(XS), N, XS)
ACTIVE(U171(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U172(tt, N, XS)) → MARK(head(afterNth(N, XS)))
ACTIVE(U172(tt, N, XS)) → HEAD(afterNth(N, XS))
ACTIVE(U172(tt, N, XS)) → AFTERNTH(N, XS)
ACTIVE(U181(tt, Y)) → MARK(U182(isLNat(Y), Y))
ACTIVE(U181(tt, Y)) → U1821(isLNat(Y), Y)
ACTIVE(U181(tt, Y)) → ISLNAT(Y)
ACTIVE(U182(tt, Y)) → MARK(Y)
ACTIVE(U191(tt, XS)) → MARK(pair(nil, XS))
ACTIVE(U191(tt, XS)) → PAIR(nil, XS)
ACTIVE(U201(tt, N, X, XS)) → MARK(U202(isNatural(X), N, X, XS))
ACTIVE(U201(tt, N, X, XS)) → U2021(isNatural(X), N, X, XS)
ACTIVE(U201(tt, N, X, XS)) → ISNATURAL(X)
ACTIVE(U202(tt, N, X, XS)) → MARK(U203(isLNat(XS), N, X, XS))
ACTIVE(U202(tt, N, X, XS)) → U2031(isLNat(XS), N, X, XS)
ACTIVE(U202(tt, N, X, XS)) → ISLNAT(XS)
ACTIVE(U203(tt, N, X, XS)) → MARK(U204(splitAt(N, XS), X))
ACTIVE(U203(tt, N, X, XS)) → U2041(splitAt(N, XS), X)
ACTIVE(U203(tt, N, X, XS)) → SPLITAT(N, XS)
ACTIVE(U204(pair(YS, ZS), X)) → MARK(pair(cons(X, YS), ZS))
ACTIVE(U204(pair(YS, ZS), X)) → PAIR(cons(X, YS), ZS)
ACTIVE(U204(pair(YS, ZS), X)) → CONS(X, YS)
ACTIVE(U21(tt, X, Y)) → MARK(U22(isLNat(Y), X))
ACTIVE(U21(tt, X, Y)) → U221(isLNat(Y), X)
ACTIVE(U21(tt, X, Y)) → ISLNAT(Y)
ACTIVE(U211(tt, XS)) → MARK(U212(isLNat(XS), XS))
ACTIVE(U211(tt, XS)) → U2121(isLNat(XS), XS)
ACTIVE(U211(tt, XS)) → ISLNAT(XS)
ACTIVE(U212(tt, XS)) → MARK(XS)
ACTIVE(U22(tt, X)) → MARK(X)
ACTIVE(U221(tt, N, XS)) → MARK(U222(isLNat(XS), N, XS))
ACTIVE(U221(tt, N, XS)) → U2221(isLNat(XS), N, XS)
ACTIVE(U221(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U222(tt, N, XS)) → MARK(fst(splitAt(N, XS)))
ACTIVE(U222(tt, N, XS)) → FST(splitAt(N, XS))
ACTIVE(U222(tt, N, XS)) → SPLITAT(N, XS)
ACTIVE(U31(tt, N, XS)) → MARK(U32(isLNat(XS), N))
ACTIVE(U31(tt, N, XS)) → U321(isLNat(XS), N)
ACTIVE(U31(tt, N, XS)) → ISLNAT(XS)
ACTIVE(U32(tt, N)) → MARK(N)
ACTIVE(U41(tt, V2)) → MARK(U42(isLNat(V2)))
ACTIVE(U41(tt, V2)) → U421(isLNat(V2))
ACTIVE(U41(tt, V2)) → ISLNAT(V2)
ACTIVE(U42(tt)) → MARK(tt)
ACTIVE(U51(tt, V2)) → MARK(U52(isLNat(V2)))
ACTIVE(U51(tt, V2)) → U521(isLNat(V2))
ACTIVE(U51(tt, V2)) → ISLNAT(V2)
ACTIVE(U52(tt)) → MARK(tt)
ACTIVE(U61(tt)) → MARK(tt)
ACTIVE(U71(tt)) → MARK(tt)
ACTIVE(U81(tt)) → MARK(tt)
ACTIVE(U91(tt)) → MARK(tt)
ACTIVE(afterNth(N, XS)) → MARK(U11(isNatural(N), N, XS))
ACTIVE(afterNth(N, XS)) → U111(isNatural(N), N, XS)
ACTIVE(afterNth(N, XS)) → ISNATURAL(N)
ACTIVE(fst(pair(X, Y))) → MARK(U21(isLNat(X), X, Y))
ACTIVE(fst(pair(X, Y))) → U211(isLNat(X), X, Y)
ACTIVE(fst(pair(X, Y))) → ISLNAT(X)
ACTIVE(head(cons(N, XS))) → MARK(U31(isNatural(N), N, XS))
ACTIVE(head(cons(N, XS))) → U311(isNatural(N), N, XS)
ACTIVE(head(cons(N, XS))) → ISNATURAL(N)
ACTIVE(isLNat(nil)) → MARK(tt)
ACTIVE(isLNat(afterNth(V1, V2))) → MARK(U41(isNatural(V1), V2))
ACTIVE(isLNat(afterNth(V1, V2))) → U411(isNatural(V1), V2)
ACTIVE(isLNat(afterNth(V1, V2))) → ISNATURAL(V1)
ACTIVE(isLNat(cons(V1, V2))) → MARK(U51(isNatural(V1), V2))
ACTIVE(isLNat(cons(V1, V2))) → U511(isNatural(V1), V2)
ACTIVE(isLNat(cons(V1, V2))) → ISNATURAL(V1)
ACTIVE(isLNat(fst(V1))) → MARK(U61(isPLNat(V1)))
ACTIVE(isLNat(fst(V1))) → U611(isPLNat(V1))
ACTIVE(isLNat(fst(V1))) → ISPLNAT(V1)
ACTIVE(isLNat(natsFrom(V1))) → MARK(U71(isNatural(V1)))
ACTIVE(isLNat(natsFrom(V1))) → U711(isNatural(V1))
ACTIVE(isLNat(natsFrom(V1))) → ISNATURAL(V1)
ACTIVE(isLNat(snd(V1))) → MARK(U81(isPLNat(V1)))
ACTIVE(isLNat(snd(V1))) → U811(isPLNat(V1))
ACTIVE(isLNat(snd(V1))) → ISPLNAT(V1)
ACTIVE(isLNat(tail(V1))) → MARK(U91(isLNat(V1)))
ACTIVE(isLNat(tail(V1))) → U911(isLNat(V1))
ACTIVE(isLNat(tail(V1))) → ISLNAT(V1)
ACTIVE(isLNat(take(V1, V2))) → MARK(U101(isNatural(V1), V2))
ACTIVE(isLNat(take(V1, V2))) → U1011(isNatural(V1), V2)
ACTIVE(isLNat(take(V1, V2))) → ISNATURAL(V1)
ACTIVE(isNatural(0)) → MARK(tt)
ACTIVE(isNatural(head(V1))) → MARK(U111(isLNat(V1)))
ACTIVE(isNatural(head(V1))) → U1111(isLNat(V1))
ACTIVE(isNatural(head(V1))) → ISLNAT(V1)
ACTIVE(isNatural(s(V1))) → MARK(U121(isNatural(V1)))
ACTIVE(isNatural(s(V1))) → U1211(isNatural(V1))
ACTIVE(isNatural(s(V1))) → ISNATURAL(V1)
ACTIVE(isNatural(sel(V1, V2))) → MARK(U131(isNatural(V1), V2))
ACTIVE(isNatural(sel(V1, V2))) → U1311(isNatural(V1), V2)
ACTIVE(isNatural(sel(V1, V2))) → ISNATURAL(V1)
ACTIVE(isPLNat(pair(V1, V2))) → MARK(U141(isLNat(V1), V2))
ACTIVE(isPLNat(pair(V1, V2))) → U1411(isLNat(V1), V2)
ACTIVE(isPLNat(pair(V1, V2))) → ISLNAT(V1)
ACTIVE(isPLNat(splitAt(V1, V2))) → MARK(U151(isNatural(V1), V2))
ACTIVE(isPLNat(splitAt(V1, V2))) → U1511(isNatural(V1), V2)
ACTIVE(isPLNat(splitAt(V1, V2))) → ISNATURAL(V1)
ACTIVE(natsFrom(N)) → MARK(U161(isNatural(N), N))
ACTIVE(natsFrom(N)) → U1611(isNatural(N), N)
ACTIVE(natsFrom(N)) → ISNATURAL(N)
ACTIVE(sel(N, XS)) → MARK(U171(isNatural(N), N, XS))
ACTIVE(sel(N, XS)) → U1711(isNatural(N), N, XS)
ACTIVE(sel(N, XS)) → ISNATURAL(N)
ACTIVE(snd(pair(X, Y))) → MARK(U181(isLNat(X), Y))
ACTIVE(snd(pair(X, Y))) → U1811(isLNat(X), Y)
ACTIVE(snd(pair(X, Y))) → ISLNAT(X)
ACTIVE(splitAt(0, XS)) → MARK(U191(isLNat(XS), XS))
ACTIVE(splitAt(0, XS)) → U1911(isLNat(XS), XS)
ACTIVE(splitAt(0, XS)) → ISLNAT(XS)
ACTIVE(splitAt(s(N), cons(X, XS))) → MARK(U201(isNatural(N), N, X, XS))
ACTIVE(splitAt(s(N), cons(X, XS))) → U2011(isNatural(N), N, X, XS)
ACTIVE(splitAt(s(N), cons(X, XS))) → ISNATURAL(N)
ACTIVE(tail(cons(N, XS))) → MARK(U211(isNatural(N), XS))
ACTIVE(tail(cons(N, XS))) → U2111(isNatural(N), XS)
ACTIVE(tail(cons(N, XS))) → ISNATURAL(N)
ACTIVE(take(N, XS)) → MARK(U221(isNatural(N), N, XS))
ACTIVE(take(N, XS)) → U2211(isNatural(N), N, XS)
ACTIVE(take(N, XS)) → ISNATURAL(N)
MARK(U101(X1, X2)) → ACTIVE(U101(mark(X1), X2))
MARK(U101(X1, X2)) → U1011(mark(X1), X2)
MARK(U101(X1, X2)) → MARK(X1)
MARK(tt) → ACTIVE(tt)
MARK(U102(X)) → ACTIVE(U102(mark(X)))
MARK(U102(X)) → U1021(mark(X))
MARK(U102(X)) → MARK(X)
MARK(isLNat(X)) → ACTIVE(isLNat(X))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
MARK(U11(X1, X2, X3)) → U111(mark(X1), X2, X3)
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
MARK(U12(X1, X2, X3)) → U121(mark(X1), X2, X3)
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U111(X)) → ACTIVE(U111(mark(X)))
MARK(U111(X)) → U1111(mark(X))
MARK(U111(X)) → MARK(X)
MARK(snd(X)) → ACTIVE(snd(mark(X)))
MARK(snd(X)) → SND(mark(X))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → ACTIVE(splitAt(mark(X1), mark(X2)))
MARK(splitAt(X1, X2)) → SPLITAT(mark(X1), mark(X2))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
MARK(U121(X)) → ACTIVE(U121(mark(X)))
MARK(U121(X)) → U1211(mark(X))
MARK(U121(X)) → MARK(X)
MARK(U131(X1, X2)) → ACTIVE(U131(mark(X1), X2))
MARK(U131(X1, X2)) → U1311(mark(X1), X2)
MARK(U131(X1, X2)) → MARK(X1)
MARK(U132(X)) → ACTIVE(U132(mark(X)))
MARK(U132(X)) → U1321(mark(X))
MARK(U132(X)) → MARK(X)
MARK(U141(X1, X2)) → ACTIVE(U141(mark(X1), X2))
MARK(U141(X1, X2)) → U1411(mark(X1), X2)
MARK(U141(X1, X2)) → MARK(X1)
MARK(U142(X)) → ACTIVE(U142(mark(X)))
MARK(U142(X)) → U1421(mark(X))
MARK(U142(X)) → MARK(X)
MARK(U151(X1, X2)) → ACTIVE(U151(mark(X1), X2))
MARK(U151(X1, X2)) → U1511(mark(X1), X2)
MARK(U151(X1, X2)) → MARK(X1)
MARK(U152(X)) → ACTIVE(U152(mark(X)))
MARK(U152(X)) → U1521(mark(X))
MARK(U152(X)) → MARK(X)
MARK(U161(X1, X2)) → ACTIVE(U161(mark(X1), X2))
MARK(U161(X1, X2)) → U1611(mark(X1), X2)
MARK(U161(X1, X2)) → MARK(X1)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
MARK(cons(X1, X2)) → CONS(mark(X1), X2)
MARK(cons(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → ACTIVE(natsFrom(mark(X)))
MARK(natsFrom(X)) → NATSFROM(mark(X))
MARK(natsFrom(X)) → MARK(X)
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(s(X)) → S(mark(X))
MARK(s(X)) → MARK(X)
MARK(U171(X1, X2, X3)) → ACTIVE(U171(mark(X1), X2, X3))
MARK(U171(X1, X2, X3)) → U1711(mark(X1), X2, X3)
MARK(U171(X1, X2, X3)) → MARK(X1)
MARK(U172(X1, X2, X3)) → ACTIVE(U172(mark(X1), X2, X3))
MARK(U172(X1, X2, X3)) → U1721(mark(X1), X2, X3)
MARK(U172(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → ACTIVE(head(mark(X)))
MARK(head(X)) → HEAD(mark(X))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → ACTIVE(afterNth(mark(X1), mark(X2)))
MARK(afterNth(X1, X2)) → AFTERNTH(mark(X1), mark(X2))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U181(X1, X2)) → ACTIVE(U181(mark(X1), X2))
MARK(U181(X1, X2)) → U1811(mark(X1), X2)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → ACTIVE(U182(mark(X1), X2))
MARK(U182(X1, X2)) → U1821(mark(X1), X2)
MARK(U182(X1, X2)) → MARK(X1)
MARK(U191(X1, X2)) → ACTIVE(U191(mark(X1), X2))
MARK(U191(X1, X2)) → U1911(mark(X1), X2)
MARK(U191(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → ACTIVE(pair(mark(X1), mark(X2)))
MARK(pair(X1, X2)) → PAIR(mark(X1), mark(X2))
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
MARK(nil) → ACTIVE(nil)
MARK(U201(X1, X2, X3, X4)) → ACTIVE(U201(mark(X1), X2, X3, X4))
MARK(U201(X1, X2, X3, X4)) → U2011(mark(X1), X2, X3, X4)
MARK(U201(X1, X2, X3, X4)) → MARK(X1)
MARK(U202(X1, X2, X3, X4)) → ACTIVE(U202(mark(X1), X2, X3, X4))
MARK(U202(X1, X2, X3, X4)) → U2021(mark(X1), X2, X3, X4)
MARK(U202(X1, X2, X3, X4)) → MARK(X1)
MARK(isNatural(X)) → ACTIVE(isNatural(X))
MARK(U203(X1, X2, X3, X4)) → ACTIVE(U203(mark(X1), X2, X3, X4))
MARK(U203(X1, X2, X3, X4)) → U2031(mark(X1), X2, X3, X4)
MARK(U203(X1, X2, X3, X4)) → MARK(X1)
MARK(U204(X1, X2)) → ACTIVE(U204(mark(X1), X2))
MARK(U204(X1, X2)) → U2041(mark(X1), X2)
MARK(U204(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
MARK(U21(X1, X2, X3)) → U211(mark(X1), X2, X3)
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
MARK(U22(X1, X2)) → U221(mark(X1), X2)
MARK(U22(X1, X2)) → MARK(X1)
MARK(U211(X1, X2)) → ACTIVE(U211(mark(X1), X2))
MARK(U211(X1, X2)) → U2111(mark(X1), X2)
MARK(U211(X1, X2)) → MARK(X1)
MARK(U212(X1, X2)) → ACTIVE(U212(mark(X1), X2))
MARK(U212(X1, X2)) → U2121(mark(X1), X2)
MARK(U212(X1, X2)) → MARK(X1)
MARK(U221(X1, X2, X3)) → ACTIVE(U221(mark(X1), X2, X3))
MARK(U221(X1, X2, X3)) → U2211(mark(X1), X2, X3)
MARK(U221(X1, X2, X3)) → MARK(X1)
MARK(U222(X1, X2, X3)) → ACTIVE(U222(mark(X1), X2, X3))
MARK(U222(X1, X2, X3)) → U2221(mark(X1), X2, X3)
MARK(U222(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → ACTIVE(fst(mark(X)))
MARK(fst(X)) → FST(mark(X))
MARK(fst(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
MARK(U31(X1, X2, X3)) → U311(mark(X1), X2, X3)
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2)) → ACTIVE(U32(mark(X1), X2))
MARK(U32(X1, X2)) → U321(mark(X1), X2)
MARK(U32(X1, X2)) → MARK(X1)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
MARK(U41(X1, X2)) → U411(mark(X1), X2)
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
MARK(U42(X)) → U421(mark(X))
MARK(U42(X)) → MARK(X)
MARK(U51(X1, X2)) → ACTIVE(U51(mark(X1), X2))
MARK(U51(X1, X2)) → U511(mark(X1), X2)
MARK(U51(X1, X2)) → MARK(X1)
MARK(U52(X)) → ACTIVE(U52(mark(X)))
MARK(U52(X)) → U521(mark(X))
MARK(U52(X)) → MARK(X)
MARK(U61(X)) → ACTIVE(U61(mark(X)))
MARK(U61(X)) → U611(mark(X))
MARK(U61(X)) → MARK(X)
MARK(U71(X)) → ACTIVE(U71(mark(X)))
MARK(U71(X)) → U711(mark(X))
MARK(U71(X)) → MARK(X)
MARK(U81(X)) → ACTIVE(U81(mark(X)))
MARK(U81(X)) → U811(mark(X))
MARK(U81(X)) → MARK(X)
MARK(U91(X)) → ACTIVE(U91(mark(X)))
MARK(U91(X)) → U911(mark(X))
MARK(U91(X)) → MARK(X)
MARK(isPLNat(X)) → ACTIVE(isPLNat(X))
MARK(tail(X)) → ACTIVE(tail(mark(X)))
MARK(tail(X)) → TAIL(mark(X))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → ACTIVE(take(mark(X1), mark(X2)))
MARK(take(X1, X2)) → TAKE(mark(X1), mark(X2))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(0) → ACTIVE(0)
MARK(sel(X1, X2)) → ACTIVE(sel(mark(X1), mark(X2)))
MARK(sel(X1, X2)) → SEL(mark(X1), mark(X2))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
U1011(mark(X1), X2) → U1011(X1, X2)
U1011(X1, mark(X2)) → U1011(X1, X2)
U1011(active(X1), X2) → U1011(X1, X2)
U1011(X1, active(X2)) → U1011(X1, X2)
U1021(mark(X)) → U1021(X)
U1021(active(X)) → U1021(X)
ISLNAT(mark(X)) → ISLNAT(X)
ISLNAT(active(X)) → ISLNAT(X)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, mark(X3)) → U111(X1, X2, X3)
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, mark(X3)) → U121(X1, X2, X3)
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
U1111(mark(X)) → U1111(X)
U1111(active(X)) → U1111(X)
SND(mark(X)) → SND(X)
SND(active(X)) → SND(X)
SPLITAT(mark(X1), X2) → SPLITAT(X1, X2)
SPLITAT(X1, mark(X2)) → SPLITAT(X1, X2)
SPLITAT(active(X1), X2) → SPLITAT(X1, X2)
SPLITAT(X1, active(X2)) → SPLITAT(X1, X2)
U1211(mark(X)) → U1211(X)
U1211(active(X)) → U1211(X)
U1311(mark(X1), X2) → U1311(X1, X2)
U1311(X1, mark(X2)) → U1311(X1, X2)
U1311(active(X1), X2) → U1311(X1, X2)
U1311(X1, active(X2)) → U1311(X1, X2)
U1321(mark(X)) → U1321(X)
U1321(active(X)) → U1321(X)
U1411(mark(X1), X2) → U1411(X1, X2)
U1411(X1, mark(X2)) → U1411(X1, X2)
U1411(active(X1), X2) → U1411(X1, X2)
U1411(X1, active(X2)) → U1411(X1, X2)
U1421(mark(X)) → U1421(X)
U1421(active(X)) → U1421(X)
U1511(mark(X1), X2) → U1511(X1, X2)
U1511(X1, mark(X2)) → U1511(X1, X2)
U1511(active(X1), X2) → U1511(X1, X2)
U1511(X1, active(X2)) → U1511(X1, X2)
U1521(mark(X)) → U1521(X)
U1521(active(X)) → U1521(X)
U1611(mark(X1), X2) → U1611(X1, X2)
U1611(X1, mark(X2)) → U1611(X1, X2)
U1611(active(X1), X2) → U1611(X1, X2)
U1611(X1, active(X2)) → U1611(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
NATSFROM(mark(X)) → NATSFROM(X)
NATSFROM(active(X)) → NATSFROM(X)
S(mark(X)) → S(X)
S(active(X)) → S(X)
U1711(mark(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, mark(X2), X3) → U1711(X1, X2, X3)
U1711(X1, X2, mark(X3)) → U1711(X1, X2, X3)
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
U1711(X1, X2, active(X3)) → U1711(X1, X2, X3)
U1721(mark(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, mark(X2), X3) → U1721(X1, X2, X3)
U1721(X1, X2, mark(X3)) → U1721(X1, X2, X3)
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
U1721(X1, X2, active(X3)) → U1721(X1, X2, X3)
HEAD(mark(X)) → HEAD(X)
HEAD(active(X)) → HEAD(X)
AFTERNTH(mark(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(X1, mark(X2)) → AFTERNTH(X1, X2)
AFTERNTH(active(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(X1, active(X2)) → AFTERNTH(X1, X2)
U1811(mark(X1), X2) → U1811(X1, X2)
U1811(X1, mark(X2)) → U1811(X1, X2)
U1811(active(X1), X2) → U1811(X1, X2)
U1811(X1, active(X2)) → U1811(X1, X2)
U1821(mark(X1), X2) → U1821(X1, X2)
U1821(X1, mark(X2)) → U1821(X1, X2)
U1821(active(X1), X2) → U1821(X1, X2)
U1821(X1, active(X2)) → U1821(X1, X2)
U1911(mark(X1), X2) → U1911(X1, X2)
U1911(X1, mark(X2)) → U1911(X1, X2)
U1911(active(X1), X2) → U1911(X1, X2)
U1911(X1, active(X2)) → U1911(X1, X2)
PAIR(mark(X1), X2) → PAIR(X1, X2)
PAIR(X1, mark(X2)) → PAIR(X1, X2)
PAIR(active(X1), X2) → PAIR(X1, X2)
PAIR(X1, active(X2)) → PAIR(X1, X2)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, mark(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, mark(X4)) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, active(X4)) → U2011(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, mark(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, mark(X4)) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, active(X4)) → U2021(X1, X2, X3, X4)
ISNATURAL(mark(X)) → ISNATURAL(X)
ISNATURAL(active(X)) → ISNATURAL(X)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, mark(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, mark(X4)) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, active(X4)) → U2031(X1, X2, X3, X4)
U2041(mark(X1), X2) → U2041(X1, X2)
U2041(X1, mark(X2)) → U2041(X1, X2)
U2041(active(X1), X2) → U2041(X1, X2)
U2041(X1, active(X2)) → U2041(X1, X2)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
U221(mark(X1), X2) → U221(X1, X2)
U221(X1, mark(X2)) → U221(X1, X2)
U221(active(X1), X2) → U221(X1, X2)
U221(X1, active(X2)) → U221(X1, X2)
U2111(mark(X1), X2) → U2111(X1, X2)
U2111(X1, mark(X2)) → U2111(X1, X2)
U2111(active(X1), X2) → U2111(X1, X2)
U2111(X1, active(X2)) → U2111(X1, X2)
U2121(mark(X1), X2) → U2121(X1, X2)
U2121(X1, mark(X2)) → U2121(X1, X2)
U2121(active(X1), X2) → U2121(X1, X2)
U2121(X1, active(X2)) → U2121(X1, X2)
U2211(mark(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, mark(X2), X3) → U2211(X1, X2, X3)
U2211(X1, X2, mark(X3)) → U2211(X1, X2, X3)
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
U2211(X1, X2, active(X3)) → U2211(X1, X2, X3)
U2221(mark(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, mark(X2), X3) → U2221(X1, X2, X3)
U2221(X1, X2, mark(X3)) → U2221(X1, X2, X3)
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
U2221(X1, X2, active(X3)) → U2221(X1, X2, X3)
FST(mark(X)) → FST(X)
FST(active(X)) → FST(X)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, mark(X3)) → U311(X1, X2, X3)
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
U321(mark(X1), X2) → U321(X1, X2)
U321(X1, mark(X2)) → U321(X1, X2)
U321(active(X1), X2) → U321(X1, X2)
U321(X1, active(X2)) → U321(X1, X2)
U411(mark(X1), X2) → U411(X1, X2)
U411(X1, mark(X2)) → U411(X1, X2)
U411(active(X1), X2) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)
U421(mark(X)) → U421(X)
U421(active(X)) → U421(X)
U511(mark(X1), X2) → U511(X1, X2)
U511(X1, mark(X2)) → U511(X1, X2)
U511(active(X1), X2) → U511(X1, X2)
U511(X1, active(X2)) → U511(X1, X2)
U521(mark(X)) → U521(X)
U521(active(X)) → U521(X)
U611(mark(X)) → U611(X)
U611(active(X)) → U611(X)
U711(mark(X)) → U711(X)
U711(active(X)) → U711(X)
U811(mark(X)) → U811(X)
U811(active(X)) → U811(X)
U911(mark(X)) → U911(X)
U911(active(X)) → U911(X)
ISPLNAT(mark(X)) → ISPLNAT(X)
ISPLNAT(active(X)) → ISPLNAT(X)
TAIL(mark(X)) → TAIL(X)
TAIL(active(X)) → TAIL(X)
TAKE(mark(X1), X2) → TAKE(X1, X2)
TAKE(X1, mark(X2)) → TAKE(X1, X2)
TAKE(active(X1), X2) → TAKE(X1, X2)
TAKE(X1, active(X2)) → TAKE(X1, X2)
SEL(mark(X1), X2) → SEL(X1, X2)
SEL(X1, mark(X2)) → SEL(X1, X2)
SEL(active(X1), X2) → SEL(X1, X2)
SEL(X1, active(X2)) → SEL(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
SEL(X1, mark(X2)) → SEL(X1, X2)
SEL(mark(X1), X2) → SEL(X1, X2)
SEL(active(X1), X2) → SEL(X1, X2)
SEL(X1, active(X2)) → SEL(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(X1, mark(X2)) → SEL(X1, X2)
SEL(mark(X1), X2) → SEL(X1, X2)
mark1 > SEL2
SEL2: [2,1]
mark1: [1]
SEL(active(X1), X2) → SEL(X1, X2)
SEL(X1, active(X2)) → SEL(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(X1, active(X2)) → SEL(X1, X2)
active1 > SEL1
SEL1: [1]
active1: [1]
SEL(active(X1), X2) → SEL(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(active(X1), X2) → SEL(X1, X2)
[SEL2, active1]
SEL2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
TAKE(X1, mark(X2)) → TAKE(X1, X2)
TAKE(mark(X1), X2) → TAKE(X1, X2)
TAKE(active(X1), X2) → TAKE(X1, X2)
TAKE(X1, active(X2)) → TAKE(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAKE(X1, mark(X2)) → TAKE(X1, X2)
TAKE(mark(X1), X2) → TAKE(X1, X2)
mark1 > TAKE2
TAKE2: [2,1]
mark1: [1]
TAKE(active(X1), X2) → TAKE(X1, X2)
TAKE(X1, active(X2)) → TAKE(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAKE(X1, active(X2)) → TAKE(X1, X2)
active1 > TAKE1
TAKE1: [1]
active1: [1]
TAKE(active(X1), X2) → TAKE(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAKE(active(X1), X2) → TAKE(X1, X2)
[TAKE2, active1]
TAKE2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
TAIL(active(X)) → TAIL(X)
TAIL(mark(X)) → TAIL(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAIL(active(X)) → TAIL(X)
[TAIL1, active1]
TAIL1: [1]
active1: [1]
TAIL(mark(X)) → TAIL(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAIL(mark(X)) → TAIL(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
ISPLNAT(active(X)) → ISPLNAT(X)
ISPLNAT(mark(X)) → ISPLNAT(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISPLNAT(active(X)) → ISPLNAT(X)
[ISPLNAT1, active1]
ISPLNAT1: [1]
active1: [1]
ISPLNAT(mark(X)) → ISPLNAT(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISPLNAT(mark(X)) → ISPLNAT(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U911(active(X)) → U911(X)
U911(mark(X)) → U911(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U911(active(X)) → U911(X)
[U91^11, active1]
U91^11: [1]
active1: [1]
U911(mark(X)) → U911(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U911(mark(X)) → U911(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U811(active(X)) → U811(X)
U811(mark(X)) → U811(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U811(active(X)) → U811(X)
[U81^11, active1]
U81^11: [1]
active1: [1]
U811(mark(X)) → U811(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U811(mark(X)) → U811(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U711(active(X)) → U711(X)
U711(mark(X)) → U711(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(active(X)) → U711(X)
[U71^11, active1]
U71^11: [1]
active1: [1]
U711(mark(X)) → U711(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U711(mark(X)) → U711(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U611(active(X)) → U611(X)
U611(mark(X)) → U611(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(active(X)) → U611(X)
[U61^11, active1]
U61^11: [1]
active1: [1]
U611(mark(X)) → U611(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U611(mark(X)) → U611(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U521(active(X)) → U521(X)
U521(mark(X)) → U521(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U521(active(X)) → U521(X)
[U52^11, active1]
U52^11: [1]
active1: [1]
U521(mark(X)) → U521(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U521(mark(X)) → U521(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U511(X1, mark(X2)) → U511(X1, X2)
U511(mark(X1), X2) → U511(X1, X2)
U511(active(X1), X2) → U511(X1, X2)
U511(X1, active(X2)) → U511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(X1, mark(X2)) → U511(X1, X2)
U511(mark(X1), X2) → U511(X1, X2)
mark1 > U51^12
U51^12: [2,1]
mark1: [1]
U511(active(X1), X2) → U511(X1, X2)
U511(X1, active(X2)) → U511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(X1, active(X2)) → U511(X1, X2)
active1 > U51^11
U51^11: [1]
active1: [1]
U511(active(X1), X2) → U511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U511(active(X1), X2) → U511(X1, X2)
[U51^12, active1]
U51^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U421(active(X)) → U421(X)
U421(mark(X)) → U421(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U421(active(X)) → U421(X)
[U42^11, active1]
U42^11: [1]
active1: [1]
U421(mark(X)) → U421(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U421(mark(X)) → U421(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U411(X1, mark(X2)) → U411(X1, X2)
U411(mark(X1), X2) → U411(X1, X2)
U411(active(X1), X2) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(X1, mark(X2)) → U411(X1, X2)
U411(mark(X1), X2) → U411(X1, X2)
mark1 > U41^12
U41^12: [2,1]
mark1: [1]
U411(active(X1), X2) → U411(X1, X2)
U411(X1, active(X2)) → U411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(X1, active(X2)) → U411(X1, X2)
active1 > U41^11
U41^11: [1]
active1: [1]
U411(active(X1), X2) → U411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U411(active(X1), X2) → U411(X1, X2)
[U41^12, active1]
U41^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U321(X1, mark(X2)) → U321(X1, X2)
U321(mark(X1), X2) → U321(X1, X2)
U321(active(X1), X2) → U321(X1, X2)
U321(X1, active(X2)) → U321(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(X1, mark(X2)) → U321(X1, X2)
U321(mark(X1), X2) → U321(X1, X2)
mark1 > U32^12
U32^12: [2,1]
mark1: [1]
U321(active(X1), X2) → U321(X1, X2)
U321(X1, active(X2)) → U321(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(X1, active(X2)) → U321(X1, X2)
active1 > U32^11
U32^11: [1]
active1: [1]
U321(active(X1), X2) → U321(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U321(active(X1), X2) → U321(X1, X2)
[U32^12, active1]
U32^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, X2, mark(X3)) → U311(X1, X2, X3)
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(X1, X2, mark(X3)) → U311(X1, X2, X3)
trivial
U31^11: [1]
mark1: [1]
U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(X1, mark(X2), X3) → U311(X1, X2, X3)
U311(mark(X1), X2, X3) → U311(X1, X2, X3)
mark1 > U31^13
U31^13: [3,2,1]
mark1: [1]
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(X1, X2, active(X3)) → U311(X1, X2, X3)
trivial
active1: [1]
U311(active(X1), X2, X3) → U311(X1, X2, X3)
U311(X1, active(X2), X3) → U311(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(X1, active(X2), X3) → U311(X1, X2, X3)
[U31^12, active1]
U31^12: [2,1]
active1: [1]
U311(active(X1), X2, X3) → U311(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U311(active(X1), X2, X3) → U311(X1, X2, X3)
active1 > U31^13
U31^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
FST(active(X)) → FST(X)
FST(mark(X)) → FST(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FST(active(X)) → FST(X)
[FST1, active1]
FST1: [1]
active1: [1]
FST(mark(X)) → FST(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FST(mark(X)) → FST(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2221(X1, mark(X2), X3) → U2221(X1, X2, X3)
U2221(mark(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, X2, mark(X3)) → U2221(X1, X2, X3)
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
U2221(X1, X2, active(X3)) → U2221(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2221(X1, X2, mark(X3)) → U2221(X1, X2, X3)
trivial
U222^11: [1]
mark1: [1]
U2221(X1, mark(X2), X3) → U2221(X1, X2, X3)
U2221(mark(X1), X2, X3) → U2221(X1, X2, X3)
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
U2221(X1, X2, active(X3)) → U2221(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2221(X1, mark(X2), X3) → U2221(X1, X2, X3)
U2221(mark(X1), X2, X3) → U2221(X1, X2, X3)
mark1 > U222^13
U222^13: [3,2,1]
mark1: [1]
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
U2221(X1, X2, active(X3)) → U2221(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2221(X1, X2, active(X3)) → U2221(X1, X2, X3)
trivial
active1: [1]
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2221(X1, active(X2), X3) → U2221(X1, X2, X3)
[U222^12, active1]
U222^12: [2,1]
active1: [1]
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2221(active(X1), X2, X3) → U2221(X1, X2, X3)
active1 > U222^13
U222^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2211(X1, mark(X2), X3) → U2211(X1, X2, X3)
U2211(mark(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, X2, mark(X3)) → U2211(X1, X2, X3)
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
U2211(X1, X2, active(X3)) → U2211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2211(X1, X2, mark(X3)) → U2211(X1, X2, X3)
trivial
U221^11: [1]
mark1: [1]
U2211(X1, mark(X2), X3) → U2211(X1, X2, X3)
U2211(mark(X1), X2, X3) → U2211(X1, X2, X3)
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
U2211(X1, X2, active(X3)) → U2211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2211(X1, mark(X2), X3) → U2211(X1, X2, X3)
U2211(mark(X1), X2, X3) → U2211(X1, X2, X3)
mark1 > U221^13
U221^13: [3,2,1]
mark1: [1]
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
U2211(X1, X2, active(X3)) → U2211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2211(X1, X2, active(X3)) → U2211(X1, X2, X3)
trivial
active1: [1]
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2211(X1, active(X2), X3) → U2211(X1, X2, X3)
[U221^12, active1]
U221^12: [2,1]
active1: [1]
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2211(active(X1), X2, X3) → U2211(X1, X2, X3)
active1 > U221^13
U221^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2121(X1, mark(X2)) → U2121(X1, X2)
U2121(mark(X1), X2) → U2121(X1, X2)
U2121(active(X1), X2) → U2121(X1, X2)
U2121(X1, active(X2)) → U2121(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2121(X1, mark(X2)) → U2121(X1, X2)
U2121(mark(X1), X2) → U2121(X1, X2)
mark1 > U212^12
U212^12: [2,1]
mark1: [1]
U2121(active(X1), X2) → U2121(X1, X2)
U2121(X1, active(X2)) → U2121(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2121(X1, active(X2)) → U2121(X1, X2)
active1 > U212^11
U212^11: [1]
active1: [1]
U2121(active(X1), X2) → U2121(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2121(active(X1), X2) → U2121(X1, X2)
[U212^12, active1]
U212^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2111(X1, mark(X2)) → U2111(X1, X2)
U2111(mark(X1), X2) → U2111(X1, X2)
U2111(active(X1), X2) → U2111(X1, X2)
U2111(X1, active(X2)) → U2111(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2111(X1, mark(X2)) → U2111(X1, X2)
U2111(mark(X1), X2) → U2111(X1, X2)
mark1 > U211^12
U211^12: [2,1]
mark1: [1]
U2111(active(X1), X2) → U2111(X1, X2)
U2111(X1, active(X2)) → U2111(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2111(X1, active(X2)) → U2111(X1, X2)
active1 > U211^11
U211^11: [1]
active1: [1]
U2111(active(X1), X2) → U2111(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2111(active(X1), X2) → U2111(X1, X2)
[U211^12, active1]
U211^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U221(X1, mark(X2)) → U221(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
U221(active(X1), X2) → U221(X1, X2)
U221(X1, active(X2)) → U221(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U221(X1, mark(X2)) → U221(X1, X2)
U221(mark(X1), X2) → U221(X1, X2)
mark1 > U22^12
U22^12: [2,1]
mark1: [1]
U221(active(X1), X2) → U221(X1, X2)
U221(X1, active(X2)) → U221(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U221(X1, active(X2)) → U221(X1, X2)
active1 > U22^11
U22^11: [1]
active1: [1]
U221(active(X1), X2) → U221(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U221(active(X1), X2) → U221(X1, X2)
[U22^12, active1]
U22^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
trivial
U21^11: [1]
mark1: [1]
U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
mark1 > U21^13
U21^13: [3,2,1]
mark1: [1]
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
trivial
active1: [1]
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(X1, active(X2), X3) → U211(X1, X2, X3)
[U21^12, active1]
U21^12: [2,1]
active1: [1]
U211(active(X1), X2, X3) → U211(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U211(active(X1), X2, X3) → U211(X1, X2, X3)
active1 > U21^13
U21^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2041(X1, mark(X2)) → U2041(X1, X2)
U2041(mark(X1), X2) → U2041(X1, X2)
U2041(active(X1), X2) → U2041(X1, X2)
U2041(X1, active(X2)) → U2041(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2041(X1, mark(X2)) → U2041(X1, X2)
U2041(mark(X1), X2) → U2041(X1, X2)
mark1 > U204^12
U204^12: [2,1]
mark1: [1]
U2041(active(X1), X2) → U2041(X1, X2)
U2041(X1, active(X2)) → U2041(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2041(X1, active(X2)) → U2041(X1, X2)
active1 > U204^11
U204^11: [1]
active1: [1]
U2041(active(X1), X2) → U2041(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2041(active(X1), X2) → U2041(X1, X2)
[U204^12, active1]
U204^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, mark(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, mark(X4)) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, active(X4)) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(X1, X2, X3, mark(X4)) → U2031(X1, X2, X3, X4)
trivial
U203^11: [1]
mark1: [1]
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, mark(X3), X4) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, active(X4)) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(X1, X2, mark(X3), X4) → U2031(X1, X2, X3, X4)
[U203^12, mark1]
U203^12: [2,1]
mark1: [1]
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, X3, active(X4)) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(X1, X2, X3, active(X4)) → U2031(X1, X2, X3, X4)
trivial
mark: []
active1: [1]
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(X1, X2, active(X3), X4) → U2031(X1, X2, X3, X4)
trivial
U203^12: [2,1]
active1: [1]
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(X1, mark(X2), X3, X4) → U2031(X1, X2, X3, X4)
U2031(X1, active(X2), X3, X4) → U2031(X1, X2, X3, X4)
mark1 > [U203^12, active1]
U203^12: [1,2]
mark1: [1]
active1: [1]
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(mark(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
trivial
mark1: [1]
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2031(active(X1), X2, X3, X4) → U2031(X1, X2, X3, X4)
trivial
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
ISNATURAL(active(X)) → ISNATURAL(X)
ISNATURAL(mark(X)) → ISNATURAL(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATURAL(active(X)) → ISNATURAL(X)
[ISNATURAL1, active1]
ISNATURAL1: [1]
active1: [1]
ISNATURAL(mark(X)) → ISNATURAL(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATURAL(mark(X)) → ISNATURAL(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, mark(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, mark(X4)) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, active(X4)) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(X1, X2, X3, mark(X4)) → U2021(X1, X2, X3, X4)
trivial
U202^11: [1]
mark1: [1]
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, mark(X3), X4) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, active(X4)) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(X1, X2, mark(X3), X4) → U2021(X1, X2, X3, X4)
[U202^12, mark1]
U202^12: [2,1]
mark1: [1]
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, X3, active(X4)) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(X1, X2, X3, active(X4)) → U2021(X1, X2, X3, X4)
trivial
mark: []
active1: [1]
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(X1, X2, active(X3), X4) → U2021(X1, X2, X3, X4)
trivial
U202^12: [2,1]
active1: [1]
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(X1, mark(X2), X3, X4) → U2021(X1, X2, X3, X4)
U2021(X1, active(X2), X3, X4) → U2021(X1, X2, X3, X4)
mark1 > [U202^12, active1]
U202^12: [1,2]
mark1: [1]
active1: [1]
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(mark(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
trivial
mark1: [1]
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2021(active(X1), X2, X3, X4) → U2021(X1, X2, X3, X4)
trivial
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, mark(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, mark(X4)) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, active(X4)) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(X1, X2, X3, mark(X4)) → U2011(X1, X2, X3, X4)
trivial
U201^11: [1]
mark1: [1]
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, mark(X3), X4) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, active(X4)) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(X1, X2, mark(X3), X4) → U2011(X1, X2, X3, X4)
[U201^12, mark1]
U201^12: [2,1]
mark1: [1]
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, X3, active(X4)) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(X1, X2, X3, active(X4)) → U2011(X1, X2, X3, X4)
trivial
mark: []
active1: [1]
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(X1, X2, active(X3), X4) → U2011(X1, X2, X3, X4)
trivial
U201^12: [2,1]
active1: [1]
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(X1, mark(X2), X3, X4) → U2011(X1, X2, X3, X4)
U2011(X1, active(X2), X3, X4) → U2011(X1, X2, X3, X4)
mark1 > [U201^12, active1]
U201^12: [1,2]
mark1: [1]
active1: [1]
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(mark(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
trivial
mark1: [1]
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2011(active(X1), X2, X3, X4) → U2011(X1, X2, X3, X4)
trivial
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
PAIR(X1, mark(X2)) → PAIR(X1, X2)
PAIR(mark(X1), X2) → PAIR(X1, X2)
PAIR(active(X1), X2) → PAIR(X1, X2)
PAIR(X1, active(X2)) → PAIR(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PAIR(X1, mark(X2)) → PAIR(X1, X2)
PAIR(mark(X1), X2) → PAIR(X1, X2)
mark1 > PAIR2
PAIR2: [2,1]
mark1: [1]
PAIR(active(X1), X2) → PAIR(X1, X2)
PAIR(X1, active(X2)) → PAIR(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PAIR(X1, active(X2)) → PAIR(X1, X2)
active1 > PAIR1
PAIR1: [1]
active1: [1]
PAIR(active(X1), X2) → PAIR(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PAIR(active(X1), X2) → PAIR(X1, X2)
[PAIR2, active1]
PAIR2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1911(X1, mark(X2)) → U1911(X1, X2)
U1911(mark(X1), X2) → U1911(X1, X2)
U1911(active(X1), X2) → U1911(X1, X2)
U1911(X1, active(X2)) → U1911(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1911(X1, mark(X2)) → U1911(X1, X2)
U1911(mark(X1), X2) → U1911(X1, X2)
mark1 > U191^12
U191^12: [2,1]
mark1: [1]
U1911(active(X1), X2) → U1911(X1, X2)
U1911(X1, active(X2)) → U1911(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1911(X1, active(X2)) → U1911(X1, X2)
active1 > U191^11
U191^11: [1]
active1: [1]
U1911(active(X1), X2) → U1911(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1911(active(X1), X2) → U1911(X1, X2)
[U191^12, active1]
U191^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1821(X1, mark(X2)) → U1821(X1, X2)
U1821(mark(X1), X2) → U1821(X1, X2)
U1821(active(X1), X2) → U1821(X1, X2)
U1821(X1, active(X2)) → U1821(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1821(X1, mark(X2)) → U1821(X1, X2)
U1821(mark(X1), X2) → U1821(X1, X2)
mark1 > U182^12
U182^12: [2,1]
mark1: [1]
U1821(active(X1), X2) → U1821(X1, X2)
U1821(X1, active(X2)) → U1821(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1821(X1, active(X2)) → U1821(X1, X2)
active1 > U182^11
U182^11: [1]
active1: [1]
U1821(active(X1), X2) → U1821(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1821(active(X1), X2) → U1821(X1, X2)
[U182^12, active1]
U182^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1811(X1, mark(X2)) → U1811(X1, X2)
U1811(mark(X1), X2) → U1811(X1, X2)
U1811(active(X1), X2) → U1811(X1, X2)
U1811(X1, active(X2)) → U1811(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1811(X1, mark(X2)) → U1811(X1, X2)
U1811(mark(X1), X2) → U1811(X1, X2)
mark1 > U181^12
U181^12: [2,1]
mark1: [1]
U1811(active(X1), X2) → U1811(X1, X2)
U1811(X1, active(X2)) → U1811(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1811(X1, active(X2)) → U1811(X1, X2)
active1 > U181^11
U181^11: [1]
active1: [1]
U1811(active(X1), X2) → U1811(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1811(active(X1), X2) → U1811(X1, X2)
[U181^12, active1]
U181^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
AFTERNTH(X1, mark(X2)) → AFTERNTH(X1, X2)
AFTERNTH(mark(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(active(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(X1, active(X2)) → AFTERNTH(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
AFTERNTH(X1, mark(X2)) → AFTERNTH(X1, X2)
AFTERNTH(mark(X1), X2) → AFTERNTH(X1, X2)
mark1 > AFTERNTH2
AFTERNTH2: [2,1]
mark1: [1]
AFTERNTH(active(X1), X2) → AFTERNTH(X1, X2)
AFTERNTH(X1, active(X2)) → AFTERNTH(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
AFTERNTH(X1, active(X2)) → AFTERNTH(X1, X2)
active1 > AFTERNTH1
AFTERNTH1: [1]
active1: [1]
AFTERNTH(active(X1), X2) → AFTERNTH(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
AFTERNTH(active(X1), X2) → AFTERNTH(X1, X2)
[AFTERNTH2, active1]
AFTERNTH2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
HEAD(active(X)) → HEAD(X)
HEAD(mark(X)) → HEAD(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HEAD(active(X)) → HEAD(X)
[HEAD1, active1]
HEAD1: [1]
active1: [1]
HEAD(mark(X)) → HEAD(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HEAD(mark(X)) → HEAD(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1721(X1, mark(X2), X3) → U1721(X1, X2, X3)
U1721(mark(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, X2, mark(X3)) → U1721(X1, X2, X3)
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
U1721(X1, X2, active(X3)) → U1721(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1721(X1, X2, mark(X3)) → U1721(X1, X2, X3)
trivial
U172^11: [1]
mark1: [1]
U1721(X1, mark(X2), X3) → U1721(X1, X2, X3)
U1721(mark(X1), X2, X3) → U1721(X1, X2, X3)
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
U1721(X1, X2, active(X3)) → U1721(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1721(X1, mark(X2), X3) → U1721(X1, X2, X3)
U1721(mark(X1), X2, X3) → U1721(X1, X2, X3)
mark1 > U172^13
U172^13: [3,2,1]
mark1: [1]
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
U1721(X1, X2, active(X3)) → U1721(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1721(X1, X2, active(X3)) → U1721(X1, X2, X3)
trivial
active1: [1]
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1721(X1, active(X2), X3) → U1721(X1, X2, X3)
[U172^12, active1]
U172^12: [2,1]
active1: [1]
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1721(active(X1), X2, X3) → U1721(X1, X2, X3)
active1 > U172^13
U172^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1711(X1, mark(X2), X3) → U1711(X1, X2, X3)
U1711(mark(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, X2, mark(X3)) → U1711(X1, X2, X3)
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
U1711(X1, X2, active(X3)) → U1711(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1711(X1, X2, mark(X3)) → U1711(X1, X2, X3)
trivial
U171^11: [1]
mark1: [1]
U1711(X1, mark(X2), X3) → U1711(X1, X2, X3)
U1711(mark(X1), X2, X3) → U1711(X1, X2, X3)
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
U1711(X1, X2, active(X3)) → U1711(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1711(X1, mark(X2), X3) → U1711(X1, X2, X3)
U1711(mark(X1), X2, X3) → U1711(X1, X2, X3)
mark1 > U171^13
U171^13: [3,2,1]
mark1: [1]
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
U1711(X1, X2, active(X3)) → U1711(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1711(X1, X2, active(X3)) → U1711(X1, X2, X3)
trivial
active1: [1]
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1711(X1, active(X2), X3) → U1711(X1, X2, X3)
[U171^12, active1]
U171^12: [2,1]
active1: [1]
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1711(active(X1), X2, X3) → U1711(X1, X2, X3)
active1 > U171^13
U171^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
S(active(X)) → S(X)
S(mark(X)) → S(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(active(X)) → S(X)
[S1, active1]
S1: [1]
active1: [1]
S(mark(X)) → S(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(mark(X)) → S(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
NATSFROM(active(X)) → NATSFROM(X)
NATSFROM(mark(X)) → NATSFROM(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NATSFROM(active(X)) → NATSFROM(X)
[NATSFROM1, active1]
NATSFROM1: [1]
active1: [1]
NATSFROM(mark(X)) → NATSFROM(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NATSFROM(mark(X)) → NATSFROM(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
mark1 > CONS2
CONS2: [2,1]
mark1: [1]
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(X1, active(X2)) → CONS(X1, X2)
active1 > CONS1
CONS1: [1]
active1: [1]
CONS(active(X1), X2) → CONS(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(active(X1), X2) → CONS(X1, X2)
[CONS2, active1]
CONS2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1611(X1, mark(X2)) → U1611(X1, X2)
U1611(mark(X1), X2) → U1611(X1, X2)
U1611(active(X1), X2) → U1611(X1, X2)
U1611(X1, active(X2)) → U1611(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1611(X1, mark(X2)) → U1611(X1, X2)
U1611(mark(X1), X2) → U1611(X1, X2)
mark1 > U161^12
U161^12: [2,1]
mark1: [1]
U1611(active(X1), X2) → U1611(X1, X2)
U1611(X1, active(X2)) → U1611(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1611(X1, active(X2)) → U1611(X1, X2)
active1 > U161^11
U161^11: [1]
active1: [1]
U1611(active(X1), X2) → U1611(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1611(active(X1), X2) → U1611(X1, X2)
[U161^12, active1]
U161^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1521(active(X)) → U1521(X)
U1521(mark(X)) → U1521(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1521(active(X)) → U1521(X)
[U152^11, active1]
U152^11: [1]
active1: [1]
U1521(mark(X)) → U1521(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1521(mark(X)) → U1521(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1511(X1, mark(X2)) → U1511(X1, X2)
U1511(mark(X1), X2) → U1511(X1, X2)
U1511(active(X1), X2) → U1511(X1, X2)
U1511(X1, active(X2)) → U1511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1511(X1, mark(X2)) → U1511(X1, X2)
U1511(mark(X1), X2) → U1511(X1, X2)
mark1 > U151^12
U151^12: [2,1]
mark1: [1]
U1511(active(X1), X2) → U1511(X1, X2)
U1511(X1, active(X2)) → U1511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1511(X1, active(X2)) → U1511(X1, X2)
active1 > U151^11
U151^11: [1]
active1: [1]
U1511(active(X1), X2) → U1511(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1511(active(X1), X2) → U1511(X1, X2)
[U151^12, active1]
U151^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1421(active(X)) → U1421(X)
U1421(mark(X)) → U1421(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1421(active(X)) → U1421(X)
[U142^11, active1]
U142^11: [1]
active1: [1]
U1421(mark(X)) → U1421(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1421(mark(X)) → U1421(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1411(X1, mark(X2)) → U1411(X1, X2)
U1411(mark(X1), X2) → U1411(X1, X2)
U1411(active(X1), X2) → U1411(X1, X2)
U1411(X1, active(X2)) → U1411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1411(X1, mark(X2)) → U1411(X1, X2)
U1411(mark(X1), X2) → U1411(X1, X2)
mark1 > U141^12
U141^12: [2,1]
mark1: [1]
U1411(active(X1), X2) → U1411(X1, X2)
U1411(X1, active(X2)) → U1411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1411(X1, active(X2)) → U1411(X1, X2)
active1 > U141^11
U141^11: [1]
active1: [1]
U1411(active(X1), X2) → U1411(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1411(active(X1), X2) → U1411(X1, X2)
[U141^12, active1]
U141^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1321(active(X)) → U1321(X)
U1321(mark(X)) → U1321(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1321(active(X)) → U1321(X)
[U132^11, active1]
U132^11: [1]
active1: [1]
U1321(mark(X)) → U1321(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1321(mark(X)) → U1321(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1311(X1, mark(X2)) → U1311(X1, X2)
U1311(mark(X1), X2) → U1311(X1, X2)
U1311(active(X1), X2) → U1311(X1, X2)
U1311(X1, active(X2)) → U1311(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1311(X1, mark(X2)) → U1311(X1, X2)
U1311(mark(X1), X2) → U1311(X1, X2)
mark1 > U131^12
U131^12: [2,1]
mark1: [1]
U1311(active(X1), X2) → U1311(X1, X2)
U1311(X1, active(X2)) → U1311(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1311(X1, active(X2)) → U1311(X1, X2)
active1 > U131^11
U131^11: [1]
active1: [1]
U1311(active(X1), X2) → U1311(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1311(active(X1), X2) → U1311(X1, X2)
[U131^12, active1]
U131^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1211(active(X)) → U1211(X)
U1211(mark(X)) → U1211(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1211(active(X)) → U1211(X)
[U121^11, active1]
U121^11: [1]
active1: [1]
U1211(mark(X)) → U1211(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1211(mark(X)) → U1211(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
SPLITAT(X1, mark(X2)) → SPLITAT(X1, X2)
SPLITAT(mark(X1), X2) → SPLITAT(X1, X2)
SPLITAT(active(X1), X2) → SPLITAT(X1, X2)
SPLITAT(X1, active(X2)) → SPLITAT(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SPLITAT(X1, mark(X2)) → SPLITAT(X1, X2)
SPLITAT(mark(X1), X2) → SPLITAT(X1, X2)
mark1 > SPLITAT2
SPLITAT2: [2,1]
mark1: [1]
SPLITAT(active(X1), X2) → SPLITAT(X1, X2)
SPLITAT(X1, active(X2)) → SPLITAT(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SPLITAT(X1, active(X2)) → SPLITAT(X1, X2)
active1 > SPLITAT1
SPLITAT1: [1]
active1: [1]
SPLITAT(active(X1), X2) → SPLITAT(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SPLITAT(active(X1), X2) → SPLITAT(X1, X2)
[SPLITAT2, active1]
SPLITAT2: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
SND(active(X)) → SND(X)
SND(mark(X)) → SND(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SND(active(X)) → SND(X)
[SND1, active1]
SND1: [1]
active1: [1]
SND(mark(X)) → SND(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SND(mark(X)) → SND(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1111(active(X)) → U1111(X)
U1111(mark(X)) → U1111(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1111(active(X)) → U1111(X)
[U111^11, active1]
U111^11: [1]
active1: [1]
U1111(mark(X)) → U1111(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1111(mark(X)) → U1111(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, X2, mark(X3)) → U121(X1, X2, X3)
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(X1, X2, mark(X3)) → U121(X1, X2, X3)
trivial
U12^11: [1]
mark1: [1]
U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(X1, mark(X2), X3) → U121(X1, X2, X3)
U121(mark(X1), X2, X3) → U121(X1, X2, X3)
mark1 > U12^13
U12^13: [3,2,1]
mark1: [1]
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(X1, X2, active(X3)) → U121(X1, X2, X3)
trivial
active1: [1]
U121(active(X1), X2, X3) → U121(X1, X2, X3)
U121(X1, active(X2), X3) → U121(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(X1, active(X2), X3) → U121(X1, X2, X3)
[U12^12, active1]
U12^12: [2,1]
active1: [1]
U121(active(X1), X2, X3) → U121(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(active(X1), X2, X3) → U121(X1, X2, X3)
active1 > U12^13
U12^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, X2, mark(X3)) → U111(X1, X2, X3)
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(X1, X2, mark(X3)) → U111(X1, X2, X3)
trivial
U11^11: [1]
mark1: [1]
U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(X1, mark(X2), X3) → U111(X1, X2, X3)
U111(mark(X1), X2, X3) → U111(X1, X2, X3)
mark1 > U11^13
U11^13: [3,2,1]
mark1: [1]
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(X1, X2, active(X3)) → U111(X1, X2, X3)
trivial
active1: [1]
U111(active(X1), X2, X3) → U111(X1, X2, X3)
U111(X1, active(X2), X3) → U111(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(X1, active(X2), X3) → U111(X1, X2, X3)
[U11^12, active1]
U11^12: [2,1]
active1: [1]
U111(active(X1), X2, X3) → U111(X1, X2, X3)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(active(X1), X2, X3) → U111(X1, X2, X3)
active1 > U11^13
U11^13: [3,2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
ISLNAT(active(X)) → ISLNAT(X)
ISLNAT(mark(X)) → ISLNAT(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISLNAT(active(X)) → ISLNAT(X)
[ISLNAT1, active1]
ISLNAT1: [1]
active1: [1]
ISLNAT(mark(X)) → ISLNAT(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISLNAT(mark(X)) → ISLNAT(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1021(active(X)) → U1021(X)
U1021(mark(X)) → U1021(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1021(active(X)) → U1021(X)
[U102^11, active1]
U102^11: [1]
active1: [1]
U1021(mark(X)) → U1021(X)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1021(mark(X)) → U1021(X)
trivial
mark1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
U1011(X1, mark(X2)) → U1011(X1, X2)
U1011(mark(X1), X2) → U1011(X1, X2)
U1011(active(X1), X2) → U1011(X1, X2)
U1011(X1, active(X2)) → U1011(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1011(X1, mark(X2)) → U1011(X1, X2)
U1011(mark(X1), X2) → U1011(X1, X2)
mark1 > U101^12
U101^12: [2,1]
mark1: [1]
U1011(active(X1), X2) → U1011(X1, X2)
U1011(X1, active(X2)) → U1011(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1011(X1, active(X2)) → U1011(X1, X2)
active1 > U101^11
U101^11: [1]
active1: [1]
U1011(active(X1), X2) → U1011(X1, X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U1011(active(X1), X2) → U1011(X1, X2)
[U101^12, active1]
U101^12: [2,1]
active1: [1]
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
MARK(U101(X1, X2)) → ACTIVE(U101(mark(X1), X2))
ACTIVE(U101(tt, V2)) → MARK(U102(isLNat(V2)))
MARK(U101(X1, X2)) → MARK(X1)
MARK(U102(X)) → ACTIVE(U102(mark(X)))
ACTIVE(U11(tt, N, XS)) → MARK(U12(isLNat(XS), N, XS))
MARK(U102(X)) → MARK(X)
MARK(isLNat(X)) → ACTIVE(isLNat(X))
ACTIVE(U12(tt, N, XS)) → MARK(snd(splitAt(N, XS)))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U131(tt, V2)) → MARK(U132(isLNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U141(tt, V2)) → MARK(U142(isLNat(V2)))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U111(X)) → ACTIVE(U111(mark(X)))
ACTIVE(U151(tt, V2)) → MARK(U152(isLNat(V2)))
MARK(U111(X)) → MARK(X)
MARK(snd(X)) → ACTIVE(snd(mark(X)))
ACTIVE(U161(tt, N)) → MARK(cons(N, natsFrom(s(N))))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → ACTIVE(splitAt(mark(X1), mark(X2)))
ACTIVE(U171(tt, N, XS)) → MARK(U172(isLNat(XS), N, XS))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
MARK(U121(X)) → ACTIVE(U121(mark(X)))
ACTIVE(U172(tt, N, XS)) → MARK(head(afterNth(N, XS)))
MARK(U121(X)) → MARK(X)
MARK(U131(X1, X2)) → ACTIVE(U131(mark(X1), X2))
ACTIVE(U181(tt, Y)) → MARK(U182(isLNat(Y), Y))
MARK(U131(X1, X2)) → MARK(X1)
MARK(U132(X)) → ACTIVE(U132(mark(X)))
ACTIVE(U182(tt, Y)) → MARK(Y)
MARK(U132(X)) → MARK(X)
MARK(U141(X1, X2)) → ACTIVE(U141(mark(X1), X2))
ACTIVE(U191(tt, XS)) → MARK(pair(nil, XS))
MARK(U141(X1, X2)) → MARK(X1)
MARK(U142(X)) → ACTIVE(U142(mark(X)))
ACTIVE(U201(tt, N, X, XS)) → MARK(U202(isNatural(X), N, X, XS))
MARK(U142(X)) → MARK(X)
MARK(U151(X1, X2)) → ACTIVE(U151(mark(X1), X2))
ACTIVE(U202(tt, N, X, XS)) → MARK(U203(isLNat(XS), N, X, XS))
MARK(U151(X1, X2)) → MARK(X1)
MARK(U152(X)) → ACTIVE(U152(mark(X)))
ACTIVE(U203(tt, N, X, XS)) → MARK(U204(splitAt(N, XS), X))
MARK(U152(X)) → MARK(X)
MARK(U161(X1, X2)) → ACTIVE(U161(mark(X1), X2))
ACTIVE(U204(pair(YS, ZS), X)) → MARK(pair(cons(X, YS), ZS))
MARK(U161(X1, X2)) → MARK(X1)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
ACTIVE(U21(tt, X, Y)) → MARK(U22(isLNat(Y), X))
MARK(cons(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → ACTIVE(natsFrom(mark(X)))
ACTIVE(U211(tt, XS)) → MARK(U212(isLNat(XS), XS))
MARK(natsFrom(X)) → MARK(X)
MARK(s(X)) → ACTIVE(s(mark(X)))
ACTIVE(U212(tt, XS)) → MARK(XS)
MARK(s(X)) → MARK(X)
MARK(U171(X1, X2, X3)) → ACTIVE(U171(mark(X1), X2, X3))
ACTIVE(U22(tt, X)) → MARK(X)
MARK(U171(X1, X2, X3)) → MARK(X1)
MARK(U172(X1, X2, X3)) → ACTIVE(U172(mark(X1), X2, X3))
ACTIVE(U221(tt, N, XS)) → MARK(U222(isLNat(XS), N, XS))
MARK(U172(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → ACTIVE(head(mark(X)))
ACTIVE(U222(tt, N, XS)) → MARK(fst(splitAt(N, XS)))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → ACTIVE(afterNth(mark(X1), mark(X2)))
ACTIVE(U31(tt, N, XS)) → MARK(U32(isLNat(XS), N))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U181(X1, X2)) → ACTIVE(U181(mark(X1), X2))
ACTIVE(U32(tt, N)) → MARK(N)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → ACTIVE(U182(mark(X1), X2))
ACTIVE(U41(tt, V2)) → MARK(U42(isLNat(V2)))
MARK(U182(X1, X2)) → MARK(X1)
MARK(U191(X1, X2)) → ACTIVE(U191(mark(X1), X2))
ACTIVE(U51(tt, V2)) → MARK(U52(isLNat(V2)))
MARK(U191(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → ACTIVE(pair(mark(X1), mark(X2)))
ACTIVE(afterNth(N, XS)) → MARK(U11(isNatural(N), N, XS))
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
MARK(U201(X1, X2, X3, X4)) → ACTIVE(U201(mark(X1), X2, X3, X4))
ACTIVE(fst(pair(X, Y))) → MARK(U21(isLNat(X), X, Y))
MARK(U201(X1, X2, X3, X4)) → MARK(X1)
MARK(U202(X1, X2, X3, X4)) → ACTIVE(U202(mark(X1), X2, X3, X4))
ACTIVE(head(cons(N, XS))) → MARK(U31(isNatural(N), N, XS))
MARK(U202(X1, X2, X3, X4)) → MARK(X1)
MARK(isNatural(X)) → ACTIVE(isNatural(X))
ACTIVE(isLNat(afterNth(V1, V2))) → MARK(U41(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → ACTIVE(U203(mark(X1), X2, X3, X4))
ACTIVE(isLNat(cons(V1, V2))) → MARK(U51(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → MARK(X1)
MARK(U204(X1, X2)) → ACTIVE(U204(mark(X1), X2))
ACTIVE(isLNat(fst(V1))) → MARK(U61(isPLNat(V1)))
MARK(U204(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
ACTIVE(isLNat(natsFrom(V1))) → MARK(U71(isNatural(V1)))
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(isLNat(snd(V1))) → MARK(U81(isPLNat(V1)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U211(X1, X2)) → ACTIVE(U211(mark(X1), X2))
ACTIVE(isLNat(tail(V1))) → MARK(U91(isLNat(V1)))
MARK(U211(X1, X2)) → MARK(X1)
MARK(U212(X1, X2)) → ACTIVE(U212(mark(X1), X2))
ACTIVE(isLNat(take(V1, V2))) → MARK(U101(isNatural(V1), V2))
MARK(U212(X1, X2)) → MARK(X1)
MARK(U221(X1, X2, X3)) → ACTIVE(U221(mark(X1), X2, X3))
ACTIVE(isNatural(head(V1))) → MARK(U111(isLNat(V1)))
MARK(U221(X1, X2, X3)) → MARK(X1)
MARK(U222(X1, X2, X3)) → ACTIVE(U222(mark(X1), X2, X3))
ACTIVE(isNatural(s(V1))) → MARK(U121(isNatural(V1)))
MARK(U222(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → ACTIVE(fst(mark(X)))
ACTIVE(isNatural(sel(V1, V2))) → MARK(U131(isNatural(V1), V2))
MARK(fst(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(isPLNat(pair(V1, V2))) → MARK(U141(isLNat(V1), V2))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2)) → ACTIVE(U32(mark(X1), X2))
ACTIVE(isPLNat(splitAt(V1, V2))) → MARK(U151(isNatural(V1), V2))
MARK(U32(X1, X2)) → MARK(X1)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(natsFrom(N)) → MARK(U161(isNatural(N), N))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
ACTIVE(sel(N, XS)) → MARK(U171(isNatural(N), N, XS))
MARK(U42(X)) → MARK(X)
MARK(U51(X1, X2)) → ACTIVE(U51(mark(X1), X2))
ACTIVE(snd(pair(X, Y))) → MARK(U181(isLNat(X), Y))
MARK(U51(X1, X2)) → MARK(X1)
MARK(U52(X)) → ACTIVE(U52(mark(X)))
ACTIVE(splitAt(0, XS)) → MARK(U191(isLNat(XS), XS))
MARK(U52(X)) → MARK(X)
MARK(U61(X)) → ACTIVE(U61(mark(X)))
ACTIVE(splitAt(s(N), cons(X, XS))) → MARK(U201(isNatural(N), N, X, XS))
MARK(U61(X)) → MARK(X)
MARK(U71(X)) → ACTIVE(U71(mark(X)))
ACTIVE(tail(cons(N, XS))) → MARK(U211(isNatural(N), XS))
MARK(U71(X)) → MARK(X)
MARK(U81(X)) → ACTIVE(U81(mark(X)))
ACTIVE(take(N, XS)) → MARK(U221(isNatural(N), N, XS))
MARK(U81(X)) → MARK(X)
MARK(U91(X)) → ACTIVE(U91(mark(X)))
MARK(U91(X)) → MARK(X)
MARK(isPLNat(X)) → ACTIVE(isPLNat(X))
MARK(tail(X)) → ACTIVE(tail(mark(X)))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → ACTIVE(take(mark(X1), mark(X2)))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → ACTIVE(sel(mark(X1), mark(X2)))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(s(X)) → ACTIVE(s(mark(X)))
0 > tt > [MARK, U101, U102, isLNat, U11, U12, snd, splitAt, U131, U132, U141, U142, U111, U151, U152, U161, cons, natsFrom, U171, U172, U121, head, afterNth, U181, U182, U191, pair, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U42, U51, U52, U61, isPLNat, U71, U81, tail, U91, take, sel] > nil > s
MARK: []
U101: []
tt: []
U102: []
isLNat: []
U11: []
U12: []
snd: []
splitAt: []
U131: []
U132: []
U141: []
U142: []
U111: []
U151: []
U152: []
U161: []
cons: []
natsFrom: []
s: []
U171: []
U172: []
U121: []
head: []
afterNth: []
U181: []
U182: []
U191: []
pair: []
nil: []
U201: []
U202: []
isNatural: []
U203: []
U204: []
U21: []
U22: []
U211: []
U212: []
U221: []
U222: []
fst: []
U31: []
U32: []
U41: []
U42: []
U51: []
U52: []
U61: []
isPLNat: []
U71: []
U81: []
tail: []
U91: []
take: []
sel: []
0: []
U101(X1, mark(X2)) → U101(X1, X2)
U101(mark(X1), X2) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
isLNat(active(X)) → isLNat(X)
isLNat(mark(X)) → isLNat(X)
U102(active(X)) → U102(X)
U102(mark(X)) → U102(X)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
snd(active(X)) → snd(X)
snd(mark(X)) → snd(X)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U132(active(X)) → U132(X)
U132(mark(X)) → U132(X)
U142(active(X)) → U142(X)
U142(mark(X)) → U142(X)
U111(active(X)) → U111(X)
U111(mark(X)) → U111(X)
U152(active(X)) → U152(X)
U152(mark(X)) → U152(X)
s(active(X)) → s(X)
s(mark(X)) → s(X)
natsFrom(active(X)) → natsFrom(X)
natsFrom(mark(X)) → natsFrom(X)
cons(X1, mark(X2)) → cons(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
U121(active(X)) → U121(X)
U121(mark(X)) → U121(X)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
head(active(X)) → head(X)
head(mark(X)) → head(X)
U131(X1, mark(X2)) → U131(X1, X2)
U131(mark(X1), X2) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(mark(X1), X2) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
isNatural(active(X)) → isNatural(X)
isNatural(mark(X)) → isNatural(X)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
U151(X1, mark(X2)) → U151(X1, X2)
U151(mark(X1), X2) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(X1, mark(X2)) → U204(X1, X2)
U204(mark(X1), X2) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(mark(X1), X2) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(active(X)) → fst(X)
fst(mark(X)) → fst(X)
U32(X1, mark(X2)) → U32(X1, X2)
U32(mark(X1), X2) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U42(active(X)) → U42(X)
U42(mark(X)) → U42(X)
U191(X1, mark(X2)) → U191(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
U52(active(X)) → U52(X)
U52(mark(X)) → U52(X)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U41(X1, mark(X2)) → U41(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(mark(X1), X2) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
isPLNat(active(X)) → isPLNat(X)
isPLNat(mark(X)) → isPLNat(X)
U61(active(X)) → U61(X)
U61(mark(X)) → U61(X)
U71(active(X)) → U71(X)
U71(mark(X)) → U71(X)
U81(active(X)) → U81(X)
U81(mark(X)) → U81(X)
U211(X1, mark(X2)) → U211(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U91(active(X)) → U91(X)
U91(mark(X)) → U91(X)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
tail(active(X)) → tail(X)
tail(mark(X)) → tail(X)
take(X1, mark(X2)) → take(X1, X2)
take(mark(X1), X2) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
MARK(U101(X1, X2)) → ACTIVE(U101(mark(X1), X2))
ACTIVE(U101(tt, V2)) → MARK(U102(isLNat(V2)))
MARK(U101(X1, X2)) → MARK(X1)
MARK(U102(X)) → ACTIVE(U102(mark(X)))
ACTIVE(U11(tt, N, XS)) → MARK(U12(isLNat(XS), N, XS))
MARK(U102(X)) → MARK(X)
MARK(isLNat(X)) → ACTIVE(isLNat(X))
ACTIVE(U12(tt, N, XS)) → MARK(snd(splitAt(N, XS)))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U131(tt, V2)) → MARK(U132(isLNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U141(tt, V2)) → MARK(U142(isLNat(V2)))
MARK(U12(X1, X2, X3)) → MARK(X1)
MARK(U111(X)) → ACTIVE(U111(mark(X)))
ACTIVE(U151(tt, V2)) → MARK(U152(isLNat(V2)))
MARK(U111(X)) → MARK(X)
MARK(snd(X)) → ACTIVE(snd(mark(X)))
ACTIVE(U161(tt, N)) → MARK(cons(N, natsFrom(s(N))))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → ACTIVE(splitAt(mark(X1), mark(X2)))
ACTIVE(U171(tt, N, XS)) → MARK(U172(isLNat(XS), N, XS))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
MARK(U121(X)) → ACTIVE(U121(mark(X)))
ACTIVE(U172(tt, N, XS)) → MARK(head(afterNth(N, XS)))
MARK(U121(X)) → MARK(X)
MARK(U131(X1, X2)) → ACTIVE(U131(mark(X1), X2))
ACTIVE(U181(tt, Y)) → MARK(U182(isLNat(Y), Y))
MARK(U131(X1, X2)) → MARK(X1)
MARK(U132(X)) → ACTIVE(U132(mark(X)))
ACTIVE(U182(tt, Y)) → MARK(Y)
MARK(U132(X)) → MARK(X)
MARK(U141(X1, X2)) → ACTIVE(U141(mark(X1), X2))
ACTIVE(U191(tt, XS)) → MARK(pair(nil, XS))
MARK(U141(X1, X2)) → MARK(X1)
MARK(U142(X)) → ACTIVE(U142(mark(X)))
ACTIVE(U201(tt, N, X, XS)) → MARK(U202(isNatural(X), N, X, XS))
MARK(U142(X)) → MARK(X)
MARK(U151(X1, X2)) → ACTIVE(U151(mark(X1), X2))
ACTIVE(U202(tt, N, X, XS)) → MARK(U203(isLNat(XS), N, X, XS))
MARK(U151(X1, X2)) → MARK(X1)
MARK(U152(X)) → ACTIVE(U152(mark(X)))
ACTIVE(U203(tt, N, X, XS)) → MARK(U204(splitAt(N, XS), X))
MARK(U152(X)) → MARK(X)
MARK(U161(X1, X2)) → ACTIVE(U161(mark(X1), X2))
ACTIVE(U204(pair(YS, ZS), X)) → MARK(pair(cons(X, YS), ZS))
MARK(U161(X1, X2)) → MARK(X1)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
ACTIVE(U21(tt, X, Y)) → MARK(U22(isLNat(Y), X))
MARK(cons(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → ACTIVE(natsFrom(mark(X)))
ACTIVE(U211(tt, XS)) → MARK(U212(isLNat(XS), XS))
MARK(natsFrom(X)) → MARK(X)
ACTIVE(U212(tt, XS)) → MARK(XS)
MARK(s(X)) → MARK(X)
MARK(U171(X1, X2, X3)) → ACTIVE(U171(mark(X1), X2, X3))
ACTIVE(U22(tt, X)) → MARK(X)
MARK(U171(X1, X2, X3)) → MARK(X1)
MARK(U172(X1, X2, X3)) → ACTIVE(U172(mark(X1), X2, X3))
ACTIVE(U221(tt, N, XS)) → MARK(U222(isLNat(XS), N, XS))
MARK(U172(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → ACTIVE(head(mark(X)))
ACTIVE(U222(tt, N, XS)) → MARK(fst(splitAt(N, XS)))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → ACTIVE(afterNth(mark(X1), mark(X2)))
ACTIVE(U31(tt, N, XS)) → MARK(U32(isLNat(XS), N))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U181(X1, X2)) → ACTIVE(U181(mark(X1), X2))
ACTIVE(U32(tt, N)) → MARK(N)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → ACTIVE(U182(mark(X1), X2))
ACTIVE(U41(tt, V2)) → MARK(U42(isLNat(V2)))
MARK(U182(X1, X2)) → MARK(X1)
MARK(U191(X1, X2)) → ACTIVE(U191(mark(X1), X2))
ACTIVE(U51(tt, V2)) → MARK(U52(isLNat(V2)))
MARK(U191(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → ACTIVE(pair(mark(X1), mark(X2)))
ACTIVE(afterNth(N, XS)) → MARK(U11(isNatural(N), N, XS))
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
MARK(U201(X1, X2, X3, X4)) → ACTIVE(U201(mark(X1), X2, X3, X4))
ACTIVE(fst(pair(X, Y))) → MARK(U21(isLNat(X), X, Y))
MARK(U201(X1, X2, X3, X4)) → MARK(X1)
MARK(U202(X1, X2, X3, X4)) → ACTIVE(U202(mark(X1), X2, X3, X4))
ACTIVE(head(cons(N, XS))) → MARK(U31(isNatural(N), N, XS))
MARK(U202(X1, X2, X3, X4)) → MARK(X1)
MARK(isNatural(X)) → ACTIVE(isNatural(X))
ACTIVE(isLNat(afterNth(V1, V2))) → MARK(U41(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → ACTIVE(U203(mark(X1), X2, X3, X4))
ACTIVE(isLNat(cons(V1, V2))) → MARK(U51(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → MARK(X1)
MARK(U204(X1, X2)) → ACTIVE(U204(mark(X1), X2))
ACTIVE(isLNat(fst(V1))) → MARK(U61(isPLNat(V1)))
MARK(U204(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
ACTIVE(isLNat(natsFrom(V1))) → MARK(U71(isNatural(V1)))
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(isLNat(snd(V1))) → MARK(U81(isPLNat(V1)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U211(X1, X2)) → ACTIVE(U211(mark(X1), X2))
ACTIVE(isLNat(tail(V1))) → MARK(U91(isLNat(V1)))
MARK(U211(X1, X2)) → MARK(X1)
MARK(U212(X1, X2)) → ACTIVE(U212(mark(X1), X2))
ACTIVE(isLNat(take(V1, V2))) → MARK(U101(isNatural(V1), V2))
MARK(U212(X1, X2)) → MARK(X1)
MARK(U221(X1, X2, X3)) → ACTIVE(U221(mark(X1), X2, X3))
ACTIVE(isNatural(head(V1))) → MARK(U111(isLNat(V1)))
MARK(U221(X1, X2, X3)) → MARK(X1)
MARK(U222(X1, X2, X3)) → ACTIVE(U222(mark(X1), X2, X3))
ACTIVE(isNatural(s(V1))) → MARK(U121(isNatural(V1)))
MARK(U222(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → ACTIVE(fst(mark(X)))
ACTIVE(isNatural(sel(V1, V2))) → MARK(U131(isNatural(V1), V2))
MARK(fst(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(isPLNat(pair(V1, V2))) → MARK(U141(isLNat(V1), V2))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2)) → ACTIVE(U32(mark(X1), X2))
ACTIVE(isPLNat(splitAt(V1, V2))) → MARK(U151(isNatural(V1), V2))
MARK(U32(X1, X2)) → MARK(X1)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(natsFrom(N)) → MARK(U161(isNatural(N), N))
MARK(U41(X1, X2)) → MARK(X1)
MARK(U42(X)) → ACTIVE(U42(mark(X)))
ACTIVE(sel(N, XS)) → MARK(U171(isNatural(N), N, XS))
MARK(U42(X)) → MARK(X)
MARK(U51(X1, X2)) → ACTIVE(U51(mark(X1), X2))
ACTIVE(snd(pair(X, Y))) → MARK(U181(isLNat(X), Y))
MARK(U51(X1, X2)) → MARK(X1)
MARK(U52(X)) → ACTIVE(U52(mark(X)))
ACTIVE(splitAt(0, XS)) → MARK(U191(isLNat(XS), XS))
MARK(U52(X)) → MARK(X)
MARK(U61(X)) → ACTIVE(U61(mark(X)))
ACTIVE(splitAt(s(N), cons(X, XS))) → MARK(U201(isNatural(N), N, X, XS))
MARK(U61(X)) → MARK(X)
MARK(U71(X)) → ACTIVE(U71(mark(X)))
ACTIVE(tail(cons(N, XS))) → MARK(U211(isNatural(N), XS))
MARK(U71(X)) → MARK(X)
MARK(U81(X)) → ACTIVE(U81(mark(X)))
ACTIVE(take(N, XS)) → MARK(U221(isNatural(N), N, XS))
MARK(U81(X)) → MARK(X)
MARK(U91(X)) → ACTIVE(U91(mark(X)))
MARK(U91(X)) → MARK(X)
MARK(isPLNat(X)) → ACTIVE(isPLNat(X))
MARK(tail(X)) → ACTIVE(tail(mark(X)))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → ACTIVE(take(mark(X1), mark(X2)))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → ACTIVE(sel(mark(X1), mark(X2)))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(U102(X)) → ACTIVE(U102(mark(X)))
MARK(U111(X)) → ACTIVE(U111(mark(X)))
MARK(U121(X)) → ACTIVE(U121(mark(X)))
MARK(U132(X)) → ACTIVE(U132(mark(X)))
MARK(U142(X)) → ACTIVE(U142(mark(X)))
MARK(U152(X)) → ACTIVE(U152(mark(X)))
MARK(pair(X1, X2)) → ACTIVE(pair(mark(X1), mark(X2)))
MARK(U42(X)) → ACTIVE(U42(mark(X)))
MARK(U52(X)) → ACTIVE(U52(mark(X)))
MARK(U61(X)) → ACTIVE(U61(mark(X)))
MARK(U71(X)) → ACTIVE(U71(mark(X)))
MARK(U81(X)) → ACTIVE(U81(mark(X)))
MARK(U91(X)) → ACTIVE(U91(mark(X)))
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U102
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U132
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U142
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U111
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U152
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U121
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > pair
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > nil
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U42
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U52
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U61
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U71
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U81
active > mark1 > 0 > tt > [MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, cons, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U91
MARK: []
U101: []
mark1: [1]
tt: []
U102: []
isLNat: []
U11: []
U12: []
snd: []
splitAt: []
U131: []
U132: []
U141: []
U142: []
U111: []
U151: []
U152: []
U161: []
cons: []
natsFrom: []
U171: []
U172: []
U121: []
head: []
afterNth: []
U181: []
U182: []
U191: []
pair: []
nil: []
U201: []
U202: []
isNatural: []
U203: []
U204: []
U21: []
U22: []
U211: []
U212: []
U221: []
U222: []
fst: []
U31: []
U32: []
U41: []
U42: []
U51: []
U52: []
U61: []
isPLNat: []
U71: []
U81: []
tail: []
U91: []
take: []
sel: []
0: []
active: []
U101(X1, mark(X2)) → U101(X1, X2)
U101(mark(X1), X2) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
isLNat(active(X)) → isLNat(X)
isLNat(mark(X)) → isLNat(X)
U102(active(X)) → U102(X)
U102(mark(X)) → U102(X)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
snd(active(X)) → snd(X)
snd(mark(X)) → snd(X)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U132(active(X)) → U132(X)
U132(mark(X)) → U132(X)
U142(active(X)) → U142(X)
U142(mark(X)) → U142(X)
U111(active(X)) → U111(X)
U111(mark(X)) → U111(X)
U152(active(X)) → U152(X)
U152(mark(X)) → U152(X)
natsFrom(active(X)) → natsFrom(X)
natsFrom(mark(X)) → natsFrom(X)
cons(X1, mark(X2)) → cons(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
U121(active(X)) → U121(X)
U121(mark(X)) → U121(X)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
head(active(X)) → head(X)
head(mark(X)) → head(X)
U131(X1, mark(X2)) → U131(X1, X2)
U131(mark(X1), X2) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(mark(X1), X2) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
isNatural(active(X)) → isNatural(X)
isNatural(mark(X)) → isNatural(X)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
U151(X1, mark(X2)) → U151(X1, X2)
U151(mark(X1), X2) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(X1, mark(X2)) → U204(X1, X2)
U204(mark(X1), X2) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(mark(X1), X2) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(active(X)) → fst(X)
fst(mark(X)) → fst(X)
U32(X1, mark(X2)) → U32(X1, X2)
U32(mark(X1), X2) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U42(active(X)) → U42(X)
U42(mark(X)) → U42(X)
U191(X1, mark(X2)) → U191(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
U52(active(X)) → U52(X)
U52(mark(X)) → U52(X)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U41(X1, mark(X2)) → U41(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(mark(X1), X2) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
isPLNat(active(X)) → isPLNat(X)
isPLNat(mark(X)) → isPLNat(X)
U61(active(X)) → U61(X)
U61(mark(X)) → U61(X)
U71(active(X)) → U71(X)
U71(mark(X)) → U71(X)
U81(active(X)) → U81(X)
U81(mark(X)) → U81(X)
U211(X1, mark(X2)) → U211(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U91(active(X)) → U91(X)
U91(mark(X)) → U91(X)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
tail(active(X)) → tail(X)
tail(mark(X)) → tail(X)
take(X1, mark(X2)) → take(X1, X2)
take(mark(X1), X2) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
MARK(U101(X1, X2)) → ACTIVE(U101(mark(X1), X2))
ACTIVE(U101(tt, V2)) → MARK(U102(isLNat(V2)))
MARK(U101(X1, X2)) → MARK(X1)
ACTIVE(U11(tt, N, XS)) → MARK(U12(isLNat(XS), N, XS))
MARK(U102(X)) → MARK(X)
MARK(isLNat(X)) → ACTIVE(isLNat(X))
ACTIVE(U12(tt, N, XS)) → MARK(snd(splitAt(N, XS)))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U131(tt, V2)) → MARK(U132(isLNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U141(tt, V2)) → MARK(U142(isLNat(V2)))
MARK(U12(X1, X2, X3)) → MARK(X1)
ACTIVE(U151(tt, V2)) → MARK(U152(isLNat(V2)))
MARK(U111(X)) → MARK(X)
MARK(snd(X)) → ACTIVE(snd(mark(X)))
ACTIVE(U161(tt, N)) → MARK(cons(N, natsFrom(s(N))))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → ACTIVE(splitAt(mark(X1), mark(X2)))
ACTIVE(U171(tt, N, XS)) → MARK(U172(isLNat(XS), N, XS))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
ACTIVE(U172(tt, N, XS)) → MARK(head(afterNth(N, XS)))
MARK(U121(X)) → MARK(X)
MARK(U131(X1, X2)) → ACTIVE(U131(mark(X1), X2))
ACTIVE(U181(tt, Y)) → MARK(U182(isLNat(Y), Y))
MARK(U131(X1, X2)) → MARK(X1)
ACTIVE(U182(tt, Y)) → MARK(Y)
MARK(U132(X)) → MARK(X)
MARK(U141(X1, X2)) → ACTIVE(U141(mark(X1), X2))
ACTIVE(U191(tt, XS)) → MARK(pair(nil, XS))
MARK(U141(X1, X2)) → MARK(X1)
ACTIVE(U201(tt, N, X, XS)) → MARK(U202(isNatural(X), N, X, XS))
MARK(U142(X)) → MARK(X)
MARK(U151(X1, X2)) → ACTIVE(U151(mark(X1), X2))
ACTIVE(U202(tt, N, X, XS)) → MARK(U203(isLNat(XS), N, X, XS))
MARK(U151(X1, X2)) → MARK(X1)
ACTIVE(U203(tt, N, X, XS)) → MARK(U204(splitAt(N, XS), X))
MARK(U152(X)) → MARK(X)
MARK(U161(X1, X2)) → ACTIVE(U161(mark(X1), X2))
ACTIVE(U204(pair(YS, ZS), X)) → MARK(pair(cons(X, YS), ZS))
MARK(U161(X1, X2)) → MARK(X1)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
ACTIVE(U21(tt, X, Y)) → MARK(U22(isLNat(Y), X))
MARK(cons(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → ACTIVE(natsFrom(mark(X)))
ACTIVE(U211(tt, XS)) → MARK(U212(isLNat(XS), XS))
MARK(natsFrom(X)) → MARK(X)
ACTIVE(U212(tt, XS)) → MARK(XS)
MARK(s(X)) → MARK(X)
MARK(U171(X1, X2, X3)) → ACTIVE(U171(mark(X1), X2, X3))
ACTIVE(U22(tt, X)) → MARK(X)
MARK(U171(X1, X2, X3)) → MARK(X1)
MARK(U172(X1, X2, X3)) → ACTIVE(U172(mark(X1), X2, X3))
ACTIVE(U221(tt, N, XS)) → MARK(U222(isLNat(XS), N, XS))
MARK(U172(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → ACTIVE(head(mark(X)))
ACTIVE(U222(tt, N, XS)) → MARK(fst(splitAt(N, XS)))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → ACTIVE(afterNth(mark(X1), mark(X2)))
ACTIVE(U31(tt, N, XS)) → MARK(U32(isLNat(XS), N))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U181(X1, X2)) → ACTIVE(U181(mark(X1), X2))
ACTIVE(U32(tt, N)) → MARK(N)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → ACTIVE(U182(mark(X1), X2))
ACTIVE(U41(tt, V2)) → MARK(U42(isLNat(V2)))
MARK(U182(X1, X2)) → MARK(X1)
MARK(U191(X1, X2)) → ACTIVE(U191(mark(X1), X2))
ACTIVE(U51(tt, V2)) → MARK(U52(isLNat(V2)))
MARK(U191(X1, X2)) → MARK(X1)
ACTIVE(afterNth(N, XS)) → MARK(U11(isNatural(N), N, XS))
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
MARK(U201(X1, X2, X3, X4)) → ACTIVE(U201(mark(X1), X2, X3, X4))
ACTIVE(fst(pair(X, Y))) → MARK(U21(isLNat(X), X, Y))
MARK(U201(X1, X2, X3, X4)) → MARK(X1)
MARK(U202(X1, X2, X3, X4)) → ACTIVE(U202(mark(X1), X2, X3, X4))
ACTIVE(head(cons(N, XS))) → MARK(U31(isNatural(N), N, XS))
MARK(U202(X1, X2, X3, X4)) → MARK(X1)
MARK(isNatural(X)) → ACTIVE(isNatural(X))
ACTIVE(isLNat(afterNth(V1, V2))) → MARK(U41(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → ACTIVE(U203(mark(X1), X2, X3, X4))
ACTIVE(isLNat(cons(V1, V2))) → MARK(U51(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → MARK(X1)
MARK(U204(X1, X2)) → ACTIVE(U204(mark(X1), X2))
ACTIVE(isLNat(fst(V1))) → MARK(U61(isPLNat(V1)))
MARK(U204(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
ACTIVE(isLNat(natsFrom(V1))) → MARK(U71(isNatural(V1)))
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(isLNat(snd(V1))) → MARK(U81(isPLNat(V1)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U211(X1, X2)) → ACTIVE(U211(mark(X1), X2))
ACTIVE(isLNat(tail(V1))) → MARK(U91(isLNat(V1)))
MARK(U211(X1, X2)) → MARK(X1)
MARK(U212(X1, X2)) → ACTIVE(U212(mark(X1), X2))
ACTIVE(isLNat(take(V1, V2))) → MARK(U101(isNatural(V1), V2))
MARK(U212(X1, X2)) → MARK(X1)
MARK(U221(X1, X2, X3)) → ACTIVE(U221(mark(X1), X2, X3))
ACTIVE(isNatural(head(V1))) → MARK(U111(isLNat(V1)))
MARK(U221(X1, X2, X3)) → MARK(X1)
MARK(U222(X1, X2, X3)) → ACTIVE(U222(mark(X1), X2, X3))
ACTIVE(isNatural(s(V1))) → MARK(U121(isNatural(V1)))
MARK(U222(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → ACTIVE(fst(mark(X)))
ACTIVE(isNatural(sel(V1, V2))) → MARK(U131(isNatural(V1), V2))
MARK(fst(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(isPLNat(pair(V1, V2))) → MARK(U141(isLNat(V1), V2))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2)) → ACTIVE(U32(mark(X1), X2))
ACTIVE(isPLNat(splitAt(V1, V2))) → MARK(U151(isNatural(V1), V2))
MARK(U32(X1, X2)) → MARK(X1)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(natsFrom(N)) → MARK(U161(isNatural(N), N))
MARK(U41(X1, X2)) → MARK(X1)
ACTIVE(sel(N, XS)) → MARK(U171(isNatural(N), N, XS))
MARK(U42(X)) → MARK(X)
MARK(U51(X1, X2)) → ACTIVE(U51(mark(X1), X2))
ACTIVE(snd(pair(X, Y))) → MARK(U181(isLNat(X), Y))
MARK(U51(X1, X2)) → MARK(X1)
ACTIVE(splitAt(0, XS)) → MARK(U191(isLNat(XS), XS))
MARK(U52(X)) → MARK(X)
ACTIVE(splitAt(s(N), cons(X, XS))) → MARK(U201(isNatural(N), N, X, XS))
MARK(U61(X)) → MARK(X)
ACTIVE(tail(cons(N, XS))) → MARK(U211(isNatural(N), XS))
MARK(U71(X)) → MARK(X)
ACTIVE(take(N, XS)) → MARK(U221(isNatural(N), N, XS))
MARK(U81(X)) → MARK(X)
MARK(U91(X)) → MARK(X)
MARK(isPLNat(X)) → ACTIVE(isPLNat(X))
MARK(tail(X)) → ACTIVE(tail(mark(X)))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → ACTIVE(take(mark(X1), mark(X2)))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → ACTIVE(sel(mark(X1), mark(X2)))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
[MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > tt > U102 > active1 > nil > U81
[MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > s > active1 > nil > U81
[MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > pair2 > cons > active1 > nil > U81
[MARK, U101, isLNat, U11, U12, snd, splitAt, U131, U141, U151, U161, natsFrom, U171, U172, head, afterNth, U181, U182, U191, U201, U202, isNatural, U203, U204, U21, U22, U211, U212, U221, U222, fst, U31, U32, U41, U51, isPLNat, tail, take, sel] > U611 > active1 > nil > U81
0 > tt > U102 > active1 > nil > U81
MARK: []
U101: []
tt: []
U102: []
isLNat: []
U11: []
U12: []
snd: []
splitAt: []
U131: []
U141: []
U151: []
U161: []
cons: []
natsFrom: []
s: []
U171: []
U172: []
head: []
afterNth: []
U181: []
U182: []
U191: []
pair2: [1,2]
nil: []
U201: []
U202: []
isNatural: []
U203: []
U204: []
U21: []
U22: []
U211: []
U212: []
U221: []
U222: []
fst: []
U31: []
U32: []
U41: []
U51: []
U611: [1]
isPLNat: []
U81: []
tail: []
take: []
sel: []
0: []
active1: [1]
U101(X1, mark(X2)) → U101(X1, X2)
U101(mark(X1), X2) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
isLNat(active(X)) → isLNat(X)
isLNat(mark(X)) → isLNat(X)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
snd(active(X)) → snd(X)
snd(mark(X)) → snd(X)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
natsFrom(active(X)) → natsFrom(X)
natsFrom(mark(X)) → natsFrom(X)
cons(X1, mark(X2)) → cons(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
head(active(X)) → head(X)
head(mark(X)) → head(X)
U131(X1, mark(X2)) → U131(X1, X2)
U131(mark(X1), X2) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(mark(X1), X2) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
isNatural(active(X)) → isNatural(X)
isNatural(mark(X)) → isNatural(X)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
U151(X1, mark(X2)) → U151(X1, X2)
U151(mark(X1), X2) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(X1, mark(X2)) → U204(X1, X2)
U204(mark(X1), X2) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(mark(X1), X2) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(mark(X1), X2) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(active(X)) → fst(X)
fst(mark(X)) → fst(X)
U32(X1, mark(X2)) → U32(X1, X2)
U32(mark(X1), X2) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U41(X1, mark(X2)) → U41(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(mark(X1), X2) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
isPLNat(active(X)) → isPLNat(X)
isPLNat(mark(X)) → isPLNat(X)
U211(X1, mark(X2)) → U211(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
tail(active(X)) → tail(X)
tail(mark(X)) → tail(X)
take(X1, mark(X2)) → take(X1, X2)
take(mark(X1), X2) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)
MARK(U101(X1, X2)) → ACTIVE(U101(mark(X1), X2))
ACTIVE(U101(tt, V2)) → MARK(U102(isLNat(V2)))
MARK(U101(X1, X2)) → MARK(X1)
ACTIVE(U11(tt, N, XS)) → MARK(U12(isLNat(XS), N, XS))
MARK(U102(X)) → MARK(X)
MARK(isLNat(X)) → ACTIVE(isLNat(X))
ACTIVE(U12(tt, N, XS)) → MARK(snd(splitAt(N, XS)))
MARK(U11(X1, X2, X3)) → ACTIVE(U11(mark(X1), X2, X3))
ACTIVE(U131(tt, V2)) → MARK(U132(isLNat(V2)))
MARK(U11(X1, X2, X3)) → MARK(X1)
MARK(U12(X1, X2, X3)) → ACTIVE(U12(mark(X1), X2, X3))
ACTIVE(U141(tt, V2)) → MARK(U142(isLNat(V2)))
MARK(U12(X1, X2, X3)) → MARK(X1)
ACTIVE(U151(tt, V2)) → MARK(U152(isLNat(V2)))
MARK(U111(X)) → MARK(X)
MARK(snd(X)) → ACTIVE(snd(mark(X)))
ACTIVE(U161(tt, N)) → MARK(cons(N, natsFrom(s(N))))
MARK(snd(X)) → MARK(X)
MARK(splitAt(X1, X2)) → ACTIVE(splitAt(mark(X1), mark(X2)))
ACTIVE(U171(tt, N, XS)) → MARK(U172(isLNat(XS), N, XS))
MARK(splitAt(X1, X2)) → MARK(X1)
MARK(splitAt(X1, X2)) → MARK(X2)
ACTIVE(U172(tt, N, XS)) → MARK(head(afterNth(N, XS)))
MARK(U121(X)) → MARK(X)
MARK(U131(X1, X2)) → ACTIVE(U131(mark(X1), X2))
ACTIVE(U181(tt, Y)) → MARK(U182(isLNat(Y), Y))
MARK(U131(X1, X2)) → MARK(X1)
ACTIVE(U182(tt, Y)) → MARK(Y)
MARK(U132(X)) → MARK(X)
MARK(U141(X1, X2)) → ACTIVE(U141(mark(X1), X2))
ACTIVE(U191(tt, XS)) → MARK(pair(nil, XS))
MARK(U141(X1, X2)) → MARK(X1)
ACTIVE(U201(tt, N, X, XS)) → MARK(U202(isNatural(X), N, X, XS))
MARK(U142(X)) → MARK(X)
MARK(U151(X1, X2)) → ACTIVE(U151(mark(X1), X2))
ACTIVE(U202(tt, N, X, XS)) → MARK(U203(isLNat(XS), N, X, XS))
MARK(U151(X1, X2)) → MARK(X1)
ACTIVE(U203(tt, N, X, XS)) → MARK(U204(splitAt(N, XS), X))
MARK(U152(X)) → MARK(X)
MARK(U161(X1, X2)) → ACTIVE(U161(mark(X1), X2))
ACTIVE(U204(pair(YS, ZS), X)) → MARK(pair(cons(X, YS), ZS))
MARK(U161(X1, X2)) → MARK(X1)
ACTIVE(U21(tt, X, Y)) → MARK(U22(isLNat(Y), X))
MARK(cons(X1, X2)) → MARK(X1)
MARK(natsFrom(X)) → ACTIVE(natsFrom(mark(X)))
ACTIVE(U211(tt, XS)) → MARK(U212(isLNat(XS), XS))
MARK(natsFrom(X)) → MARK(X)
ACTIVE(U212(tt, XS)) → MARK(XS)
MARK(s(X)) → MARK(X)
MARK(U171(X1, X2, X3)) → ACTIVE(U171(mark(X1), X2, X3))
ACTIVE(U22(tt, X)) → MARK(X)
MARK(U171(X1, X2, X3)) → MARK(X1)
MARK(U172(X1, X2, X3)) → ACTIVE(U172(mark(X1), X2, X3))
ACTIVE(U221(tt, N, XS)) → MARK(U222(isLNat(XS), N, XS))
MARK(U172(X1, X2, X3)) → MARK(X1)
MARK(head(X)) → ACTIVE(head(mark(X)))
ACTIVE(U222(tt, N, XS)) → MARK(fst(splitAt(N, XS)))
MARK(head(X)) → MARK(X)
MARK(afterNth(X1, X2)) → ACTIVE(afterNth(mark(X1), mark(X2)))
ACTIVE(U31(tt, N, XS)) → MARK(U32(isLNat(XS), N))
MARK(afterNth(X1, X2)) → MARK(X1)
MARK(afterNth(X1, X2)) → MARK(X2)
MARK(U181(X1, X2)) → ACTIVE(U181(mark(X1), X2))
ACTIVE(U32(tt, N)) → MARK(N)
MARK(U181(X1, X2)) → MARK(X1)
MARK(U182(X1, X2)) → ACTIVE(U182(mark(X1), X2))
ACTIVE(U41(tt, V2)) → MARK(U42(isLNat(V2)))
MARK(U182(X1, X2)) → MARK(X1)
MARK(U191(X1, X2)) → ACTIVE(U191(mark(X1), X2))
ACTIVE(U51(tt, V2)) → MARK(U52(isLNat(V2)))
MARK(U191(X1, X2)) → MARK(X1)
ACTIVE(afterNth(N, XS)) → MARK(U11(isNatural(N), N, XS))
MARK(pair(X1, X2)) → MARK(X1)
MARK(pair(X1, X2)) → MARK(X2)
MARK(U201(X1, X2, X3, X4)) → ACTIVE(U201(mark(X1), X2, X3, X4))
ACTIVE(fst(pair(X, Y))) → MARK(U21(isLNat(X), X, Y))
MARK(U201(X1, X2, X3, X4)) → MARK(X1)
MARK(U202(X1, X2, X3, X4)) → ACTIVE(U202(mark(X1), X2, X3, X4))
ACTIVE(head(cons(N, XS))) → MARK(U31(isNatural(N), N, XS))
MARK(U202(X1, X2, X3, X4)) → MARK(X1)
MARK(isNatural(X)) → ACTIVE(isNatural(X))
ACTIVE(isLNat(afterNth(V1, V2))) → MARK(U41(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → ACTIVE(U203(mark(X1), X2, X3, X4))
ACTIVE(isLNat(cons(V1, V2))) → MARK(U51(isNatural(V1), V2))
MARK(U203(X1, X2, X3, X4)) → MARK(X1)
MARK(U204(X1, X2)) → ACTIVE(U204(mark(X1), X2))
ACTIVE(isLNat(fst(V1))) → MARK(U61(isPLNat(V1)))
MARK(U204(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
ACTIVE(isLNat(natsFrom(V1))) → MARK(U71(isNatural(V1)))
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(U22(X1, X2)) → ACTIVE(U22(mark(X1), X2))
ACTIVE(isLNat(snd(V1))) → MARK(U81(isPLNat(V1)))
MARK(U22(X1, X2)) → MARK(X1)
MARK(U211(X1, X2)) → ACTIVE(U211(mark(X1), X2))
ACTIVE(isLNat(tail(V1))) → MARK(U91(isLNat(V1)))
MARK(U211(X1, X2)) → MARK(X1)
MARK(U212(X1, X2)) → ACTIVE(U212(mark(X1), X2))
ACTIVE(isLNat(take(V1, V2))) → MARK(U101(isNatural(V1), V2))
MARK(U212(X1, X2)) → MARK(X1)
MARK(U221(X1, X2, X3)) → ACTIVE(U221(mark(X1), X2, X3))
ACTIVE(isNatural(head(V1))) → MARK(U111(isLNat(V1)))
MARK(U221(X1, X2, X3)) → MARK(X1)
MARK(U222(X1, X2, X3)) → ACTIVE(U222(mark(X1), X2, X3))
ACTIVE(isNatural(s(V1))) → MARK(U121(isNatural(V1)))
MARK(U222(X1, X2, X3)) → MARK(X1)
MARK(fst(X)) → ACTIVE(fst(mark(X)))
ACTIVE(isNatural(sel(V1, V2))) → MARK(U131(isNatural(V1), V2))
MARK(fst(X)) → MARK(X)
MARK(U31(X1, X2, X3)) → ACTIVE(U31(mark(X1), X2, X3))
ACTIVE(isPLNat(pair(V1, V2))) → MARK(U141(isLNat(V1), V2))
MARK(U31(X1, X2, X3)) → MARK(X1)
MARK(U32(X1, X2)) → ACTIVE(U32(mark(X1), X2))
ACTIVE(isPLNat(splitAt(V1, V2))) → MARK(U151(isNatural(V1), V2))
MARK(U32(X1, X2)) → MARK(X1)
MARK(U41(X1, X2)) → ACTIVE(U41(mark(X1), X2))
ACTIVE(natsFrom(N)) → MARK(U161(isNatural(N), N))
MARK(U41(X1, X2)) → MARK(X1)
ACTIVE(sel(N, XS)) → MARK(U171(isNatural(N), N, XS))
MARK(U42(X)) → MARK(X)
MARK(U51(X1, X2)) → ACTIVE(U51(mark(X1), X2))
ACTIVE(snd(pair(X, Y))) → MARK(U181(isLNat(X), Y))
MARK(U51(X1, X2)) → MARK(X1)
ACTIVE(splitAt(0, XS)) → MARK(U191(isLNat(XS), XS))
MARK(U52(X)) → MARK(X)
ACTIVE(splitAt(s(N), cons(X, XS))) → MARK(U201(isNatural(N), N, X, XS))
MARK(U61(X)) → MARK(X)
ACTIVE(tail(cons(N, XS))) → MARK(U211(isNatural(N), XS))
MARK(U71(X)) → MARK(X)
ACTIVE(take(N, XS)) → MARK(U221(isNatural(N), N, XS))
MARK(U81(X)) → MARK(X)
MARK(U91(X)) → MARK(X)
MARK(isPLNat(X)) → ACTIVE(isPLNat(X))
MARK(tail(X)) → ACTIVE(tail(mark(X)))
MARK(tail(X)) → MARK(X)
MARK(take(X1, X2)) → ACTIVE(take(mark(X1), mark(X2)))
MARK(take(X1, X2)) → MARK(X1)
MARK(take(X1, X2)) → MARK(X2)
MARK(sel(X1, X2)) → ACTIVE(sel(mark(X1), mark(X2)))
MARK(sel(X1, X2)) → MARK(X1)
MARK(sel(X1, X2)) → MARK(X2)
active(U101(tt, V2)) → mark(U102(isLNat(V2)))
active(U102(tt)) → mark(tt)
active(U11(tt, N, XS)) → mark(U12(isLNat(XS), N, XS))
active(U111(tt)) → mark(tt)
active(U12(tt, N, XS)) → mark(snd(splitAt(N, XS)))
active(U121(tt)) → mark(tt)
active(U131(tt, V2)) → mark(U132(isLNat(V2)))
active(U132(tt)) → mark(tt)
active(U141(tt, V2)) → mark(U142(isLNat(V2)))
active(U142(tt)) → mark(tt)
active(U151(tt, V2)) → mark(U152(isLNat(V2)))
active(U152(tt)) → mark(tt)
active(U161(tt, N)) → mark(cons(N, natsFrom(s(N))))
active(U171(tt, N, XS)) → mark(U172(isLNat(XS), N, XS))
active(U172(tt, N, XS)) → mark(head(afterNth(N, XS)))
active(U181(tt, Y)) → mark(U182(isLNat(Y), Y))
active(U182(tt, Y)) → mark(Y)
active(U191(tt, XS)) → mark(pair(nil, XS))
active(U201(tt, N, X, XS)) → mark(U202(isNatural(X), N, X, XS))
active(U202(tt, N, X, XS)) → mark(U203(isLNat(XS), N, X, XS))
active(U203(tt, N, X, XS)) → mark(U204(splitAt(N, XS), X))
active(U204(pair(YS, ZS), X)) → mark(pair(cons(X, YS), ZS))
active(U21(tt, X, Y)) → mark(U22(isLNat(Y), X))
active(U211(tt, XS)) → mark(U212(isLNat(XS), XS))
active(U212(tt, XS)) → mark(XS)
active(U22(tt, X)) → mark(X)
active(U221(tt, N, XS)) → mark(U222(isLNat(XS), N, XS))
active(U222(tt, N, XS)) → mark(fst(splitAt(N, XS)))
active(U31(tt, N, XS)) → mark(U32(isLNat(XS), N))
active(U32(tt, N)) → mark(N)
active(U41(tt, V2)) → mark(U42(isLNat(V2)))
active(U42(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isLNat(V2)))
active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)
active(U71(tt)) → mark(tt)
active(U81(tt)) → mark(tt)
active(U91(tt)) → mark(tt)
active(afterNth(N, XS)) → mark(U11(isNatural(N), N, XS))
active(fst(pair(X, Y))) → mark(U21(isLNat(X), X, Y))
active(head(cons(N, XS))) → mark(U31(isNatural(N), N, XS))
active(isLNat(nil)) → mark(tt)
active(isLNat(afterNth(V1, V2))) → mark(U41(isNatural(V1), V2))
active(isLNat(cons(V1, V2))) → mark(U51(isNatural(V1), V2))
active(isLNat(fst(V1))) → mark(U61(isPLNat(V1)))
active(isLNat(natsFrom(V1))) → mark(U71(isNatural(V1)))
active(isLNat(snd(V1))) → mark(U81(isPLNat(V1)))
active(isLNat(tail(V1))) → mark(U91(isLNat(V1)))
active(isLNat(take(V1, V2))) → mark(U101(isNatural(V1), V2))
active(isNatural(0)) → mark(tt)
active(isNatural(head(V1))) → mark(U111(isLNat(V1)))
active(isNatural(s(V1))) → mark(U121(isNatural(V1)))
active(isNatural(sel(V1, V2))) → mark(U131(isNatural(V1), V2))
active(isPLNat(pair(V1, V2))) → mark(U141(isLNat(V1), V2))
active(isPLNat(splitAt(V1, V2))) → mark(U151(isNatural(V1), V2))
active(natsFrom(N)) → mark(U161(isNatural(N), N))
active(sel(N, XS)) → mark(U171(isNatural(N), N, XS))
active(snd(pair(X, Y))) → mark(U181(isLNat(X), Y))
active(splitAt(0, XS)) → mark(U191(isLNat(XS), XS))
active(splitAt(s(N), cons(X, XS))) → mark(U201(isNatural(N), N, X, XS))
active(tail(cons(N, XS))) → mark(U211(isNatural(N), XS))
active(take(N, XS)) → mark(U221(isNatural(N), N, XS))
mark(U101(X1, X2)) → active(U101(mark(X1), X2))
mark(tt) → active(tt)
mark(U102(X)) → active(U102(mark(X)))
mark(isLNat(X)) → active(isLNat(X))
mark(U11(X1, X2, X3)) → active(U11(mark(X1), X2, X3))
mark(U12(X1, X2, X3)) → active(U12(mark(X1), X2, X3))
mark(U111(X)) → active(U111(mark(X)))
mark(snd(X)) → active(snd(mark(X)))
mark(splitAt(X1, X2)) → active(splitAt(mark(X1), mark(X2)))
mark(U121(X)) → active(U121(mark(X)))
mark(U131(X1, X2)) → active(U131(mark(X1), X2))
mark(U132(X)) → active(U132(mark(X)))
mark(U141(X1, X2)) → active(U141(mark(X1), X2))
mark(U142(X)) → active(U142(mark(X)))
mark(U151(X1, X2)) → active(U151(mark(X1), X2))
mark(U152(X)) → active(U152(mark(X)))
mark(U161(X1, X2)) → active(U161(mark(X1), X2))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(natsFrom(X)) → active(natsFrom(mark(X)))
mark(s(X)) → active(s(mark(X)))
mark(U171(X1, X2, X3)) → active(U171(mark(X1), X2, X3))
mark(U172(X1, X2, X3)) → active(U172(mark(X1), X2, X3))
mark(head(X)) → active(head(mark(X)))
mark(afterNth(X1, X2)) → active(afterNth(mark(X1), mark(X2)))
mark(U181(X1, X2)) → active(U181(mark(X1), X2))
mark(U182(X1, X2)) → active(U182(mark(X1), X2))
mark(U191(X1, X2)) → active(U191(mark(X1), X2))
mark(pair(X1, X2)) → active(pair(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U201(X1, X2, X3, X4)) → active(U201(mark(X1), X2, X3, X4))
mark(U202(X1, X2, X3, X4)) → active(U202(mark(X1), X2, X3, X4))
mark(isNatural(X)) → active(isNatural(X))
mark(U203(X1, X2, X3, X4)) → active(U203(mark(X1), X2, X3, X4))
mark(U204(X1, X2)) → active(U204(mark(X1), X2))
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))
mark(U211(X1, X2)) → active(U211(mark(X1), X2))
mark(U212(X1, X2)) → active(U212(mark(X1), X2))
mark(U221(X1, X2, X3)) → active(U221(mark(X1), X2, X3))
mark(U222(X1, X2, X3)) → active(U222(mark(X1), X2, X3))
mark(fst(X)) → active(fst(mark(X)))
mark(U31(X1, X2, X3)) → active(U31(mark(X1), X2, X3))
mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U41(X1, X2)) → active(U41(mark(X1), X2))
mark(U42(X)) → active(U42(mark(X)))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))
mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))
mark(U71(X)) → active(U71(mark(X)))
mark(U81(X)) → active(U81(mark(X)))
mark(U91(X)) → active(U91(mark(X)))
mark(isPLNat(X)) → active(isPLNat(X))
mark(tail(X)) → active(tail(mark(X)))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(0) → active(0)
mark(sel(X1, X2)) → active(sel(mark(X1), mark(X2)))
U101(mark(X1), X2) → U101(X1, X2)
U101(X1, mark(X2)) → U101(X1, X2)
U101(active(X1), X2) → U101(X1, X2)
U101(X1, active(X2)) → U101(X1, X2)
U102(mark(X)) → U102(X)
U102(active(X)) → U102(X)
isLNat(mark(X)) → isLNat(X)
isLNat(active(X)) → isLNat(X)
U11(mark(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, mark(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, mark(X3)) → U11(X1, X2, X3)
U11(active(X1), X2, X3) → U11(X1, X2, X3)
U11(X1, active(X2), X3) → U11(X1, X2, X3)
U11(X1, X2, active(X3)) → U11(X1, X2, X3)
U12(mark(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, mark(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, mark(X3)) → U12(X1, X2, X3)
U12(active(X1), X2, X3) → U12(X1, X2, X3)
U12(X1, active(X2), X3) → U12(X1, X2, X3)
U12(X1, X2, active(X3)) → U12(X1, X2, X3)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
snd(mark(X)) → snd(X)
snd(active(X)) → snd(X)
splitAt(mark(X1), X2) → splitAt(X1, X2)
splitAt(X1, mark(X2)) → splitAt(X1, X2)
splitAt(active(X1), X2) → splitAt(X1, X2)
splitAt(X1, active(X2)) → splitAt(X1, X2)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
U131(mark(X1), X2) → U131(X1, X2)
U131(X1, mark(X2)) → U131(X1, X2)
U131(active(X1), X2) → U131(X1, X2)
U131(X1, active(X2)) → U131(X1, X2)
U132(mark(X)) → U132(X)
U132(active(X)) → U132(X)
U141(mark(X1), X2) → U141(X1, X2)
U141(X1, mark(X2)) → U141(X1, X2)
U141(active(X1), X2) → U141(X1, X2)
U141(X1, active(X2)) → U141(X1, X2)
U142(mark(X)) → U142(X)
U142(active(X)) → U142(X)
U151(mark(X1), X2) → U151(X1, X2)
U151(X1, mark(X2)) → U151(X1, X2)
U151(active(X1), X2) → U151(X1, X2)
U151(X1, active(X2)) → U151(X1, X2)
U152(mark(X)) → U152(X)
U152(active(X)) → U152(X)
U161(mark(X1), X2) → U161(X1, X2)
U161(X1, mark(X2)) → U161(X1, X2)
U161(active(X1), X2) → U161(X1, X2)
U161(X1, active(X2)) → U161(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
natsFrom(mark(X)) → natsFrom(X)
natsFrom(active(X)) → natsFrom(X)
s(mark(X)) → s(X)
s(active(X)) → s(X)
U171(mark(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, mark(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, mark(X3)) → U171(X1, X2, X3)
U171(active(X1), X2, X3) → U171(X1, X2, X3)
U171(X1, active(X2), X3) → U171(X1, X2, X3)
U171(X1, X2, active(X3)) → U171(X1, X2, X3)
U172(mark(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, mark(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, mark(X3)) → U172(X1, X2, X3)
U172(active(X1), X2, X3) → U172(X1, X2, X3)
U172(X1, active(X2), X3) → U172(X1, X2, X3)
U172(X1, X2, active(X3)) → U172(X1, X2, X3)
head(mark(X)) → head(X)
head(active(X)) → head(X)
afterNth(mark(X1), X2) → afterNth(X1, X2)
afterNth(X1, mark(X2)) → afterNth(X1, X2)
afterNth(active(X1), X2) → afterNth(X1, X2)
afterNth(X1, active(X2)) → afterNth(X1, X2)
U181(mark(X1), X2) → U181(X1, X2)
U181(X1, mark(X2)) → U181(X1, X2)
U181(active(X1), X2) → U181(X1, X2)
U181(X1, active(X2)) → U181(X1, X2)
U182(mark(X1), X2) → U182(X1, X2)
U182(X1, mark(X2)) → U182(X1, X2)
U182(active(X1), X2) → U182(X1, X2)
U182(X1, active(X2)) → U182(X1, X2)
U191(mark(X1), X2) → U191(X1, X2)
U191(X1, mark(X2)) → U191(X1, X2)
U191(active(X1), X2) → U191(X1, X2)
U191(X1, active(X2)) → U191(X1, X2)
pair(mark(X1), X2) → pair(X1, X2)
pair(X1, mark(X2)) → pair(X1, X2)
pair(active(X1), X2) → pair(X1, X2)
pair(X1, active(X2)) → pair(X1, X2)
U201(mark(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, mark(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, mark(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, mark(X4)) → U201(X1, X2, X3, X4)
U201(active(X1), X2, X3, X4) → U201(X1, X2, X3, X4)
U201(X1, active(X2), X3, X4) → U201(X1, X2, X3, X4)
U201(X1, X2, active(X3), X4) → U201(X1, X2, X3, X4)
U201(X1, X2, X3, active(X4)) → U201(X1, X2, X3, X4)
U202(mark(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, mark(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, mark(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, mark(X4)) → U202(X1, X2, X3, X4)
U202(active(X1), X2, X3, X4) → U202(X1, X2, X3, X4)
U202(X1, active(X2), X3, X4) → U202(X1, X2, X3, X4)
U202(X1, X2, active(X3), X4) → U202(X1, X2, X3, X4)
U202(X1, X2, X3, active(X4)) → U202(X1, X2, X3, X4)
isNatural(mark(X)) → isNatural(X)
isNatural(active(X)) → isNatural(X)
U203(mark(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, mark(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, mark(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, mark(X4)) → U203(X1, X2, X3, X4)
U203(active(X1), X2, X3, X4) → U203(X1, X2, X3, X4)
U203(X1, active(X2), X3, X4) → U203(X1, X2, X3, X4)
U203(X1, X2, active(X3), X4) → U203(X1, X2, X3, X4)
U203(X1, X2, X3, active(X4)) → U203(X1, X2, X3, X4)
U204(mark(X1), X2) → U204(X1, X2)
U204(X1, mark(X2)) → U204(X1, X2)
U204(active(X1), X2) → U204(X1, X2)
U204(X1, active(X2)) → U204(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
U22(mark(X1), X2) → U22(X1, X2)
U22(X1, mark(X2)) → U22(X1, X2)
U22(active(X1), X2) → U22(X1, X2)
U22(X1, active(X2)) → U22(X1, X2)
U211(mark(X1), X2) → U211(X1, X2)
U211(X1, mark(X2)) → U211(X1, X2)
U211(active(X1), X2) → U211(X1, X2)
U211(X1, active(X2)) → U211(X1, X2)
U212(mark(X1), X2) → U212(X1, X2)
U212(X1, mark(X2)) → U212(X1, X2)
U212(active(X1), X2) → U212(X1, X2)
U212(X1, active(X2)) → U212(X1, X2)
U221(mark(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, mark(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, mark(X3)) → U221(X1, X2, X3)
U221(active(X1), X2, X3) → U221(X1, X2, X3)
U221(X1, active(X2), X3) → U221(X1, X2, X3)
U221(X1, X2, active(X3)) → U221(X1, X2, X3)
U222(mark(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, mark(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, mark(X3)) → U222(X1, X2, X3)
U222(active(X1), X2, X3) → U222(X1, X2, X3)
U222(X1, active(X2), X3) → U222(X1, X2, X3)
U222(X1, X2, active(X3)) → U222(X1, X2, X3)
fst(mark(X)) → fst(X)
fst(active(X)) → fst(X)
U31(mark(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, mark(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, mark(X3)) → U31(X1, X2, X3)
U31(active(X1), X2, X3) → U31(X1, X2, X3)
U31(X1, active(X2), X3) → U31(X1, X2, X3)
U31(X1, X2, active(X3)) → U31(X1, X2, X3)
U32(mark(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)
U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)
U41(mark(X1), X2) → U41(X1, X2)
U41(X1, mark(X2)) → U41(X1, X2)
U41(active(X1), X2) → U41(X1, X2)
U41(X1, active(X2)) → U41(X1, X2)
U42(mark(X)) → U42(X)
U42(active(X)) → U42(X)
U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)
U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)
U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)
U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)
U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)
U81(mark(X)) → U81(X)
U81(active(X)) → U81(X)
U91(mark(X)) → U91(X)
U91(active(X)) → U91(X)
isPLNat(mark(X)) → isPLNat(X)
isPLNat(active(X)) → isPLNat(X)
tail(mark(X)) → tail(X)
tail(active(X)) → tail(X)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)
sel(mark(X1), X2) → sel(X1, X2)
sel(X1, mark(X2)) → sel(X1, X2)
sel(active(X1), X2) → sel(X1, X2)
sel(X1, active(X2)) → sel(X1, X2)